Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -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