SCHED_ULE should not be the default

Tom Evans tevans.uk at googlemail.com
Wed Dec 14 17:54:16 UTC 2011


On Wed, Dec 14, 2011 at 11:06 AM, George Mitchell
<george+freebsd at m5p.com> wrote:
>
> Dear Secret Masters of FreeBSD: Can we have a decision on whether to
> change back to SCHED_4BSD while SCHED_ULE gets properly fixed?
>

Please do not do this. This thread has shown that ULE performs poorly
in very specific scenarios where the server is loaded with NCPU+1 CPU
bound processes, and brought forward more complaints about
interactivity in X (I've never noticed this, and use a FreeBSD desktop
daily).

On the other hand, we have very many benchmarks showing how poorly
4BSD scales on things like postgresql. We get much more load out of
our 8.1 ULE DB and web servers than we do out of our 7.0 ones. It's
easy to look at what you do and say "well, what suits my environment
is clearly the best default", but I think there are probably more
users typically running IO bound processes than CPU bound processes.

I believe the correct thing to do is to put some extra documentation
into the handbook about scheduler choice, noting the potential issues
with loading NCPU+1 CPU bound processes. Perhaps making it easier to
switch scheduler would also help?

Cheers

Tom

References:

http://people.freebsd.org/~kris/scaling/mysql-freebsd.png
http://suckit.blog.hu/2009/10/05/freebsd_8_is_it_worth_to_upgrade


More information about the freebsd-stable mailing list