Files
Linux/include/linux
Kemi Wang 4518085e12 mm, sysctl: make NUMA stats configurable
This is the second step which introduces a tunable interface that allow
numa stats configurable for optimizing zone_statistics(), as suggested
by Dave Hansen and Ying Huang.

=========================================================================

When page allocation performance becomes a bottleneck and you can
tolerate some possible tool breakage and decreased numa counter
precision, you can do:

	echo 0 > /proc/sys/vm/numa_stat

In this case, numa counter update is ignored.  We can see about
*4.8%*(185->176) drop of cpu cycles per single page allocation and
reclaim on Jesper's page_bench01 (single thread) and *8.1%*(343->315)
drop of cpu cycles per single page allocation and reclaim on Jesper's
page_bench03 (88 threads) running on a 2-Socket Broadwell-based server
(88 threads, 126G memory).

Benchmark link provided by Jesper D Brouer (increase loop times to
10000000):

  https://github.com/netoptimizer/prototype-kernel/tree/master/kernel/mm/bench

=========================================================================

When page allocation performance is not a bottleneck and you want all
tooling to work, you can do:

	echo 1 > /proc/sys/vm/numa_stat

This is system default setting.

Many thanks to Michal Hocko, Dave Hansen, Ying Huang and Vlastimil Babka
for comments to help improve the original patch.

[[email protected]: make sure mutex is a global static]
  Link: http://lkml.kernel.org/r/20171107213809.GA4314@beast
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Kemi Wang <[email protected]>
Signed-off-by: Kees Cook <[email protected]>
Reported-by: Jesper Dangaard Brouer <[email protected]>
Suggested-by: Dave Hansen <[email protected]>
Suggested-by: Ying Huang <[email protected]>
Acked-by: Vlastimil Babka <[email protected]>
Acked-by: Michal Hocko <[email protected]>
Cc: "Luis R . Rodriguez" <[email protected]>
Cc: Kees Cook <[email protected]>
Cc: Jonathan Corbet <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Christopher Lameter <[email protected]>
Cc: Sebastian Andrzej Siewior <[email protected]>
Cc: Andrey Ryabinin <[email protected]>
Cc: Tim Chen <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Aaron Lu <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2017-11-15 18:21:07 -08:00
..
…
…
…
…
…
…
2017-11-13 01:34:49 +01:00
…
…
…
…
…
2017-11-10 19:53:25 -07:00
…
…
2017-11-15 18:21:04 -08:00
…
…
…
…
…
…
…
…
…
2017-08-30 14:40:40 +02:00
…
2017-09-04 00:06:02 +02:00
…
…
…
…
…
…
…
2017-08-24 13:23:03 -07:00
…
…
…
…
…
2017-11-15 18:21:04 -08:00
…
…
…
…
…
…
…
…
…
2017-11-15 18:21:04 -08:00
…
2017-11-13 01:41:20 +01:00
…
…
…
2017-11-15 18:21:06 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2017-11-15 18:21:05 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2017-11-15 18:21:01 -08:00
…
…
2017-10-12 15:41:05 +02:00
…
…
2017-11-15 18:21:05 -08:00
2017-11-15 18:21:01 -08:00
…
…
…
…
…
2017-10-19 10:08:56 +02:00
…
2017-10-07 10:45:02 -06:00
…
2017-08-28 20:51:22 +02:00
…
…
…
…
…
2017-11-15 18:21:04 -08:00
…
…
…
…
…
2017-11-15 18:21:04 -08:00
…
…
…
…
2017-10-20 09:37:32 +02:00
…
…
…
…
2017-11-15 18:21:03 -08:00
2017-11-15 18:21:06 -08:00
…
…
2017-11-13 01:41:26 +01:00
…
…
…
…
…
…
2017-11-13 01:33:48 +01:00
…
2017-11-13 09:48:56 -08:00
…
…
…
…
…
…
…
2017-11-15 18:21:04 -08:00
…
…
…
…
…
…
2017-11-07 12:22:21 +01:00
…
…
…
…
…
…
…
…
…
…
…
2017-11-15 18:21:06 -08:00
2017-11-15 18:21:01 -08:00
2017-11-15 18:21:06 -08:00
2017-11-15 18:21:01 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2017-08-31 18:50:14 +02:00
…
…
…
…
…
…
…
…
…
…