sched_ule: roundrobin_callout replacement ?
Andriy Gapon
avg at icyb.net.ua
Thu Mar 6 13:40:15 UTC 2008
on 06/03/2008 14:55 John Baldwin said the following:
> On Monday 18 February 2008 10:25:13 am Andriy Gapon wrote:
>> I see that sched_4bsd has a NOP callout with a purpose of forcing a
>> context switch (via softclock), so that something like a preemption
>> could happen (e.g. for threads in a tight calculation loop).
>> What serves the similar purpose for sched_ule?
>> Or, how sched_ule deals with the issue without needing softclock's help?
>
> It's gone in newer versions of 4BSD in HEAD actually. ULE does it by checking
> in sched_clock() to see if the current thread has used up its quantum. If so
> it sets TDF_NEEDRESCHED.
>
Thank you. But where/when does actual thread switch happens?
E.g. I have two userland processes that do something like "while(1);",
what is the event that can switch from one to the other?
--
Andriy Gapon
More information about the freebsd-hackers
mailing list