Messages in this thread Patch in this message | | | Date | Wed, 20 Feb 2008 13:23:38 +0100 | From | Andi Kleen <> | Subject | [PATCH] Document huge memory/cache overhead of memory controller 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.
Cc: balbir@linux.vnet.ibm.com
Signed-off-by: Andi Kleen <ak@suse.de>
Index: linux/init/Kconfig =================================================================== --- linux.orig/init/Kconfig +++ linux/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/<pid>/cpuset file" depends on CPUSETS
| |