scheduler (sched_4bsd) questions
Julian Elischer
julian at elischer.org
Sun Sep 19 00:10:38 PDT 2004
John Baldwin wrote:
> On Saturday 18 September 2004 01:42 pm, Stephan Uphoff wrote:
>
>>On Fri, 2004-09-17 at 21:20, Julian Elischer wrote:
>>
>>>Stephan Uphoff wrote:
>>>
>>>>If this is true kernel threads can be preempted while holding
>>>>for example the root vnode lock (or other important kernel
>>>>resources) while not getting a chance to run until there are no more
>>>>user processes with better priority.
>>>
>>>This is also true, though it is a slightly more complicated thing than
>>>that.
>>>Preempting threads are usually interrupt threads and are thus usually
>>>short lived,.
>>
>>But interrupt threads often wake up other threads ...
>
>
> That are lower priority and thus won't be preempted to. Instead, they run
> when the interrupt thread goes back to sleep after it finishes.
though that may still be before the original preempted thread gets run..
that reminds me..
John, we should add a flag to setrunqueue to add a preempted thread back at the
FRONT of it's runqueue.. So that it gets a chance to use the rest of its slot..
the alternative is to keep a special "stack" (per cpu) of preempted threads so
that we come back to the thread that we preempted.
More information about the freebsd-arch
mailing list