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>
This commit is contained in:
Andi Kleen 2008-02-23 15:24:02 -08:00 committed by Linus Torvalds
parent 00d6296145
commit 0835ab53ea

View file

@ -394,6 +394,14 @@ config CGROUP_MEM_CONT
Provides a memory controller that manages both page cache and Provides a memory controller that manages both page cache and
RSS memory. RSS memory.
Note that setting this option increases fixed memory overhead
associated with each page of memory in the system by 4/8 bytes
and also increases cache misses because struct page on many 64bit
systems will not fit into a single cache line anymore.
Only enable when you're ok with these trade offs and really
sure you need the memory controller.
config PROC_PID_CPUSET config PROC_PID_CPUSET
bool "Include legacy /proc/<pid>/cpuset file" bool "Include legacy /proc/<pid>/cpuset file"
depends on CPUSETS depends on CPUSETS