diff options
author | Andi Kleen <andi@firstfloor.org> | 2008-02-23 18:24:02 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-23 20:12:16 -0500 |
commit | 0835ab53eab5bbeebe1c135e92fb0c4d483dde17 (patch) | |
tree | 037ce3a4885d46cfba34a4265bead1d081d2814b | |
parent | 00d6296145c6b671a9886e380efc24f2731d856a (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/Kconfig | 8 |
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 | |||
397 | config PROC_PID_CPUSET | 405 | config 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 |