ULE vs. 4BSD in RELENG_7

Jeff Roberson jroberson at chesapeake.net
Sat Nov 3 15:00:32 PDT 2007


On Sat, 3 Nov 2007, Josh Carroll wrote:

>> What was the -j value and number of processors?
>
> -j 8.
>
> I did the following (one warm up, 3 times in a row after that, averaged):
>
> cd /usr/src
> rm -rf /usr/obj/*
> make clean
> time make -j8 -DNOCLEAN buildworld
>
> The system is a Q6600, so 4 cores.

Josh, thanks for your help so far.  This has been very useful.  I have 
attached a patch which does three basic things that might improve these 
benchmarks:

1)  Improves context switch time by shuffling around some priority 
computation work to happen far less frequently.
2)  Dynamically adjusts slice sizes to respond to load.  With low load 
kern.sched.slice is used but this is scaled down to kern.sched.slice_min 
when there is too much work on the queue.  This also changes the default 
slice size down to 8 stathz ticks.
3)  Improves the load balancer to not just consider the number of runnable 
threads but how much work they each might do.

Any testing you can run this through is appreciated.  Anyone else lurking 
in this thread who would like to is also welcome to report back findings.

Thanks,
Jeff

>
> Thanks,
> Josh
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: uleslice.diff
Type: text/x-diff
Size: 18172 bytes
Desc: 
Url : http://lists.freebsd.org/pipermail/freebsd-performance/attachments/20071103/0c20eaf1/uleslice.bin


More information about the freebsd-performance mailing list