Commit-ID: 2d156e8afc42acc446806f3d6dad8331ca8089de Gitweb: http://git.kernel.org/tip/2d156e8afc42acc446806f3d6dad8331ca8089de Author: Ingo Molnar <mingo@xxxxxxxxxx> AuthorDate: Fri, 23 Nov 2012 19:02:35 +0100 Committer: Ingo Molnar <mingo@xxxxxxxxxx> CommitDate: Mon, 3 Dec 2012 10:19:25 +0100 sched, numa: Improve the CONFIG_NUMA_BALANCING help text Add information about cost, type of optimizations, etc., so that the user knows what to expect. Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> --- init/Kconfig | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/init/Kconfig b/init/Kconfig index 37cd8d6..018c8af 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -721,13 +721,42 @@ config ARCH_USES_NUMA_PROT_NONE depends on NUMA_BALANCING config NUMA_BALANCING - bool "Memory placement aware NUMA scheduler" + bool "NUMA-optimizing scheduler" default n depends on ARCH_SUPPORTS_NUMA_BALANCING depends on !ARCH_WANT_NUMA_VARIABLE_LOCALITY depends on SMP && NUMA && MIGRATION help - This option adds support for automatic NUMA aware memory/task placement. + This option enables NUMA-aware, transparent, automatic + placement optimizations of memory, tasks and task groups. + + The optimizations work by (transparently) runtime sampling the + workload sharing relationship between threads and processes + of long-run workloads, and scheduling them based on these + measured inter-task relationships (or the lack thereof). + + ("Long-run" means several seconds of CPU runtime at least.) + + Tasks that predominantly perform their own processing, without + interacting with other tasks much will be independently balanced + to a CPU and their working set memory will migrate to that CPU/node. + + Tasks that share a lot of data with each other will be attempted to + be scheduled on as few nodes as possible, with their memory + following them there and being distributed between those nodes. + + This optimization can improve the performance of long-run CPU-bound + workloads by 10% or more. The sampling and migration has a small + but nonzero cost, so if your NUMA workload is already perfectly + placed (for example by use of explicit CPU and memory bindings, + or because the stock scheduler does a good job already) then you + probably don't need this feature. + + [ On non-NUMA systems this feature will not be active. You can query + whether your system is a NUMA system via looking at the output of + "numactl --hardware". ] + + Say N if unsure. menuconfig CGROUPS boolean "Control Group support" -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html