Following is a sequence of patches to add NUMA awareness to the scheduler.
These have been submitted to you several times before, but in my opinion
were structured in such a way to make them too invasive to non-NUMA machines.
I propsed a new scheme of working in "concentric circles" which this set
follows (Erich did most of the hard work of restructuring), and is now
completely non-invasive to non-NUMA systems. It has no effect whatsoever
on standard machines. This can be seen by code inspection, and has been
checked by benchmarking.
These patches are the culmination of work by Erich Focht, Michael Hohnbaum
and myself. We've also incorporated feedback from Christoph and Robert Love.
I believe these are now ready for mainline acceptance. I've tested them on
NUMA-Q, standard SMP and UP. Erich has run them on the NEC ia64 NUMA machine.
Benchmarks on a 16-way NUMA-Q machine w/ 16Gb of RAM
Kernbench: (average of 5 kernel compiles)
Elapsed User System CPU
2.5.58 20.012s 191.81s 48.37s 1200.6%
2.5.58-numasched 19.57s 187.264s 42.186s 1171.8%
NUMA schedbench 64: (64 processes running memory allocation fairly heavily)
Elapsed TotalUser TotalSys
2.5.48 608.81 9418.37 26.74
2.5.58-numasched 230.49 3613.47 15.57
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Jan 23 2003 - 22:00:13 EST