[PATCH] mm: memcontrol: MEMCG no longer works with SLOB

Arnd Bergmann
2015-12-09T16:32:47Z

The change to move the kmem accounting into the normal memcg
code means we can no longer use memcg with slob, which lacks
the memcg_params member in its struct kmem_cache:

../mm/slab.h: In function 'is_root_cache':
../mm/slab.h:187:10: error: 'struct kmem_cache' has no member named 'memcg_params'

This enforces the new dependency in Kconfig. Alternatively,
we could change the slob code to allow using MEMCG.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 6e6133536d82 ("mm: memcontrol: move kmem accounting code to CONFIG_MEMCG")

diff --git a/init/Kconfig b/init/Kconfig
index 4822bb359fea..f4d81d382608 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -999,6 +999,7 @@ config PAGE_COUNTER

config MEMCG
bool "Memory Resource Controller for Control Groups"
+ depends on SLAB || SLUB
select PAGE_COUNTER
select EVENTFD
help
@@ -1040,7 +1041,6 @@ config MEMCG_LEGACY_KMEM
config MEMCG_KMEM
bool "Legacy Memory Resource Controller Kernel Memory accounting"
depends on MEMCG
- depends on SLUB || SLAB
select MEMCG_LEGACY_KMEM
help
The Kernel Memory extension for Memory Resource Controller can limit