SCHED_ULE should not be the default

Attilio Rao attilio at freebsd.org
Fri Dec 9 15:47:53 UTC 2011


2011/12/9 George Mitchell <george+freebsd at m5p.com>:
> dnetc is an open-source program from http://www.distributed.net/.  It
> tries a brute-force approach to cracking RC4 puzzles and also computes
> optimal Golomb rulers.  It starts up one process per CPU and runs at
> nice 20 and is, for all intents and purposes, 100% compute bound.
>
> Here is what happens on my system, running 9.0-PRERELEASE, with and
> without dnetc running, with SCHED_ULE and SCHED-4BSD, when I run the
> command:
>
> time make buildkernel KERNCONF=WONDERLAND
>
> (I get similar results on 8.x as well.)
>
> SCHED_4BSD, dnetc not running:
> 1329.715u 123.739s 24:47.95 97.6%       6310+1987k 11233+11098io 419pf+0w
>
> SCHED_4BSD, dnetc running:
> 1329.364u 115.158s 26:14.83 91.7%       6325+1987k 10912+11060io 393pf+0w
>
> SCHED_ULE, dnetc not running:
> 1357.457u 121.526s 25:20.64 97.2%       6326+1990k 11234+11149io 419pf+0w
>
> SCHED_ULE, dnetc running:
> Still going after seven and a half hours of clock time, up to
> compiling netgraph/bluetooth.  (Completed in another five minutes
> after stopping dnetc so I could write this message in a reasonable
> amount of time.)
>
> Not everybody runs this sort of program, but there are plenty of
> similar projects out there, and people who try to participate in
> them will be mightily displeased with their FreeBSD systems when
> they do.  Is there some case where SCHED_ULE exhibits significantly
> better performance than SCHED_4BSD?  If not, I think SCHED-4BSD
> should remain the default GENERIC configuration until this is fixed.

Hi George,
are you interested in exploring more the case with SCHED_ULE and dnetc?

More precisely I'd be interested in KTR traces.
To be even more precise:
With a completely stable GENERIC configuration (or otherwise please
post your kernel config) please add the following:
options KTR
options KTR_ENTRIES=262144
options KTR_COMPILE=(KTR_SCHED)
options KTR_MASK=(KTR_SCHED)

While you are in the middle of the slow-down (so once it is well
established) please do:
# sysclt debug.ktr.cpumask=""

In the end go with:
# ktrdump -ctf > ktr-ule-problem.out

and send the file to this mailing list.

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein


More information about the freebsd-stable mailing list