Re: ath / 802.11n performance issues and timer code

From: John Baldwin <jhb_at_freebsd.org>
Date: Mon, 26 Sep 2011 13:05:57 -0400
On Monday, September 26, 2011 11:30:27 am Adrian Chadd wrote:
> On 26 September 2011 22:53, John Baldwin <jhb_at_freebsd.org> wrote:
> 
> > I meant do the timer settings affect UDP performance?  I.e. does 
idletick=1
> > change UDP performance at all?
> 
> I'll check that and get back to you.
> 
> But please keep in mind that the first time I tried this and saw
> immediate results was with the device in hostap mode - where ethernet
> and wlan0 are bridged via if_bridge.
> There's no TCP or UDP state being handled at all.
> 
> >> Which should wake up a/the taskqueue thread in question and have it
> >> immediately run the next task on the queue. The taskqueue doesn't have
> >> any form of timer/callout; it's just a "submit this to get run." When
> >> will it be run? I hope not at the next tick, not if the CPU is free.
> >
> > No, that scheduling is synchronous.  Anytime a thread is scheduled the
> > scheduler will check if it should preempt the current thread to run the
> > new thread.
> 
> I admit I don't quite understand yet the scheduler and event/timer
> handling code. What about if nothing is currently scheduled and the
> CPU is idle? When will the idle process get tickled? I assume it would
> preempt the idle process immediately and run the taskqueue kernel
> thread, right? Would there ever be a situation where it doesn't do
> this?

The idle thread is just like any other thread in this case.  It will preempt 
when it schedules the thread to run.  The idle thread is only chosen by the 
scheduler when there are no runnable threads.

-- 
John Baldwin
Received on Mon Sep 26 2011 - 15:06:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:18 UTC