Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0835ab53eab5bbeebe1c135e92fb0c4d483dde17
Commit:     0835ab53eab5bbeebe1c135e92fb0c4d483dde17
Parent:     00d6296145c6b671a9886e380efc24f2731d856a
Author:     Andi Kleen <[EMAIL PROTECTED]>
AuthorDate: Sat Feb 23 15:24:02 2008 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Sat Feb 23 17:12:16 2008 -0800

    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 <[EMAIL PROTECTED]>
    Cc: Balbir Singh <[EMAIL PROTECTED]>
    Acked-by: Paul Menage <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 init/Kconfig |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/init/Kconfig b/init/Kconfig
index dcef8b5..f698a5a 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/<pid>/cpuset file"
        depends on CPUSETS
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to