Commit 0835ab53 authored by Andi Kleen's avatar Andi Kleen Committed by Linus Torvalds

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: default avatarAndi Kleen <ak@suse.de>
Cc: Balbir Singh <balbir@in.ibm.com>
Acked-by: default avatarPaul Menage <menage@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 00d62961
...@@ -394,6 +394,14 @@ config CGROUP_MEM_CONT ...@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment