cvs commit: src/sys/kern sched_ule.c

Jeff Roberson jroberson at chesapeake.net
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 
unchanged.

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.

Cheers,
Jeff

>
>>    - 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-all mailing list