aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndi Kleen <andi@firstfloor.org>2008-02-23 18:24:02 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-23 20:12:16 -0500
commit0835ab53eab5bbeebe1c135e92fb0c4d483dde17 (patch)
tree037ce3a4885d46cfba34a4265bead1d081d2814b
parent00d6296145c6b671a9886e380efc24f2731d856a (diff)
cgroup memory controller: document huge memory/cache overhead in Kconfig
Document huge memory/cache overhead of memory controller in Kconfig I was a little surprised that 2.6.25-rc* increased struct page for the memory controller. At least on many x86-64 machines it will not fit into a single cache line now anymore and also costs considerable amounts of RAM. At earlier review I remembered asking for a external data structure for this. It's also quite unobvious that a innocent looking Kconfig option with a single line Kconfig description has such a negative effect. This patch attempts to document these disadvantages at least so that users configuring their kernel can make a informed decision. Signed-off-by: Andi Kleen <ak@suse.de> Cc: Balbir Singh <balbir@in.ibm.com> Acked-by: Paul Menage <menage@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--init/Kconfig8
1 files changed, 8 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index dcef8b55011a..f698a5af5007 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -394,6 +394,14 @@ config CGROUP_MEM_CONT
394 Provides a memory controller that manages both page cache and 394 Provides a memory controller that manages both page cache and
395 RSS memory. 395 RSS memory.
396 396
397 Note that setting this option increases fixed memory overhead
398 associated with each page of memory in the system by 4/8 bytes
399 and also increases cache misses because struct page on many 64bit
400 systems will not fit into a single cache line anymore.
401
402 Only enable when you're ok with these trade offs and really
403 sure you need the memory controller.
404
397config PROC_PID_CPUSET 405config PROC_PID_CPUSET
398 bool "Include legacy /proc/<pid>/cpuset file" 406 bool "Include legacy /proc/<pid>/cpuset file"
399 depends on CPUSETS 407 depends on CPUSETS