cvs commit: src/sys/kern sched_ule.c

Peter Jeremy peterjeremy at
Sun Mar 2 11:00:11 UTC 2008

On Sat, Mar 01, 2008 at 10:29:50PM -1000, Jeff Roberson wrote:
>With these changes ULE is the only scheduler that supports the new cpuset 

Excellent work.  I didn't expect it to be implemented so quickly.

>  It succeeds on 4BSD but the scheduler doesn't obey the masks. I don't 
>presently have a plan to implement it on 4BSD as it will be potentially 
>very inefficient to search the runq for a compatible thread on every 
>context switch.  I won't object if someone else wants to implement this, 
>otherwise I'll make the syscalls return ENOSYS if 4BSD is compiled in.

I would prefer to see the project devote available resources to
improving ULE - with a view to deprecating 4BSD ASAP - rather than
retrofitting new features into 4BSD.

IMHO, it's not clear whether requests via the cpuset API should be
mandatory or advisory - I believe valid cases can be made for either
approach.  In the latter case, it would be more reasonable for the
cpuset implementation on 4BSD to just be a no-op, rather than failing.

>Kris has done some excellent benchmarking as usual.  Here you can see the 
>improvement in postgres depending on various scheduler debug settings:

The improvement is quite substantial.  Congratulations Jeff.

Peter Jeremy
Please excuse any delays as the result of my ISP's inability to implement
an MTA that is either RFC2821-compliant or matches their claimed behaviour.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url :

More information about the cvs-src mailing list