NUMA / SMP scheduler "improvements"
PATCH 1/1 NUMA / SMP scheduler "improvements"
Hi everyone,
I would like people to test my scheduler improvements if possible, if you are interested in that sort of thing. Patch at:
http://www.kerneltrap.org/~npiggin/w22/
For those following my patches, the big thing in this release is balancing backoff needed for the bigger boxes. I'm not sure how this compares to your stuff John, and it probably isn't tuned too well for all sizes of boxes.
I use a log(num_online_cpus()) function to scale the global balancing interval, so this might not be appropriate. It also probably doesn't do global balances quite enough for 1CPU/node boxes.
Benchmarks are generally as good or better, although idle time may be up due to more conservative balancing and the backoff stuff.
The good metric is the number of tasks being pulled to another node
dbench pulls 72%
tbench pulls 0.28%
make -j 11.7% hackbench 17% reaim 56%
Number of local tasks pulled off CPU is generally down too
dbench 44% tbench 71% make -j 76%
hackbench 114%
reaim 100%
This is on osdl's 16 way NUMA (4x4). Testing on other platforms welcome.
Best regards,
Nick
Quoted 4 lines · Nick Piggin
Hi everyone,
I would like people to test my scheduler improvements if possible, if you are interested in that sort of thing. Patch at:
http://www.kerneltrap.org/~npiggin/w22/
snip
Quoted 4 lines
The good metric is the number of tasks being pulled to another node
dbench pulls 72%
tbench pulls 0.28%
So by this I mean that mainline pulled 59469 of their node during tbench tests, my patch pulled 171.
I have some raw results here:
http://www.kerneltrap.org/~npiggin/w22/results