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 >api.
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: > >http://people.freebsd.org/~kris/scaling/pgsql-16cpu.png 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.
pgpyRtU8EPb1B.pgp
Description: PGP signature
