From 0835ab53eab5bbeebe1c135e92fb0c4d483dde17 Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Sat, 23 Feb 2008 15:24:02 -0800 Subject: [PATCH] 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 Cc: Balbir Singh Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- init/Kconfig | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/init/Kconfig b/init/Kconfig index dcef8b55011..f698a5af500 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -394,6 +394,14 @@ config CGROUP_MEM_CONT Provides a memory controller that manages both page cache and 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 bool "Include legacy /proc//cpuset file" depends on CPUSETS -- 2.41.1