cvs commit: src/sys/kern sched_ule.c

Jeff Roberson jroberson at
Wed Jan 24 04:02:18 UTC 2007

On Wed, 24 Jan 2007, David Xu wrote:

> On Tuesday 23 January 2007 16:50, Jeff Roberson wrote:
>> jeff        2007-01-23 08:50:34 UTC
>>   FreeBSD src repository
>>   Modified files:
>>     sys/kern             sched_ule.c
>>   Log:
>>    - Catch up to setrunqueue/choosethread/etc. api changes.
>>    - Define our own maybe_preempt() as sched_preempt().  We want to be able
>>      to preempt idlethread in all cases.
>>    - Define our idlethread to require preemption to exit.
> if idlethread is preempted, who will clear its idle bit in idle_cpus_mask ?

idle_cpus_mask was broken before for all schedulers.  This commit didn't 
change that.  ULE doesn't use idle_cpus_mask and it's idlethread doesn't 
set or clear it.  The idle thread for the other schedulers remains 

Julian wants to set idle_cpus_mask in sched_switch() which would make it 
accurate no matter how idlethread switched out.  that seems much more 
reasonable to me.


>>    - Get the cpu estimation tick from sched_tick() so we don't have to
>> worry about errors from a sampling interval that differs from the time
>> domain.  This was the source of sched_priority prints/panics and inaccurate
>> pctcpu display in top.
>>   Revision  Changes    Path
>>   1.183     +90 -39    src/sys/kern/sched_ule.c
> Regards,
> David Xu

More information about the cvs-src mailing list