Documentation/memcg: warn about incomplete kmemcg state
authorVladimir Davydov <vdavydov@parallels.com>
Wed, 4 Jun 2014 23:07:28 +0000 (16:07 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 4 Jun 2014 23:54:00 +0000 (16:54 -0700)
Kmemcg is currently under development and lacks some important features.
In particular, it does not have support of kmem reclaim on memory pressure
inside cgroup, which practically makes it unusable in real life.  Let's
warn about it in both Kconfig and Documentation to prevent complaints
arising.

Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
Acked-by: Michal Hocko <mhocko@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Documentation/cgroups/memory.txt
init/Kconfig

index 1829c65..4937e6f 100644 (file)
@@ -270,6 +270,11 @@ When oom event notifier is registered, event will be delivered.
 
 2.7 Kernel Memory Extension (CONFIG_MEMCG_KMEM)
 
+WARNING: Current implementation lacks reclaim support. That means allocation
+        attempts will fail when close to the limit even if there are plenty of
+        kmem available for reclaim. That makes this option unusable in real
+        life so DO NOT SELECT IT unless for development purposes.
+
 With the Kernel memory extension, the Memory Controller is able to limit
 the amount of kernel memory used by the system. Kernel memory is fundamentally
 different than user memory, since it can't be swapped out, which makes it
index 9d3585b..4a1822a 100644 (file)
@@ -996,6 +996,12 @@ config MEMCG_KMEM
          the kmem extension can use it to guarantee that no group of processes
          will ever exhaust kernel resources alone.
 
+         WARNING: Current implementation lacks reclaim support. That means
+         allocation attempts will fail when close to the limit even if there
+         are plenty of kmem available for reclaim. That makes this option
+         unusable in real life so DO NOT SELECT IT unless for development
+         purposes.
+
 config CGROUP_HUGETLB
        bool "HugeTLB Resource Controller for Control Groups"
        depends on RESOURCE_COUNTERS && HUGETLB_PAGE