mm: memcontrol: move kmem accounting code to CONFIG_MEMCG
The cgroup2 memory controller will account important in-kernel memory consumers per default. Move all necessary components to CONFIG_MEMCG. Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Vladimir Davydov <vdavydov@virtuozzo.com> Cc: Michal Hocko <mhocko@suse.cz> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
3893e302f6
commit
127424c86b
11 changed files with 73 additions and 58 deletions
10
mm/slub.c
10
mm/slub.c
|
@ -5207,7 +5207,7 @@ static ssize_t slab_attr_store(struct kobject *kobj,
|
|||
return -EIO;
|
||||
|
||||
err = attribute->store(s, buf, len);
|
||||
#ifdef CONFIG_MEMCG_KMEM
|
||||
#ifdef CONFIG_MEMCG
|
||||
if (slab_state >= FULL && err >= 0 && is_root_cache(s)) {
|
||||
struct kmem_cache *c;
|
||||
|
||||
|
@ -5242,7 +5242,7 @@ static ssize_t slab_attr_store(struct kobject *kobj,
|
|||
|
||||
static void memcg_propagate_slab_attrs(struct kmem_cache *s)
|
||||
{
|
||||
#ifdef CONFIG_MEMCG_KMEM
|
||||
#ifdef CONFIG_MEMCG
|
||||
int i;
|
||||
char *buffer = NULL;
|
||||
struct kmem_cache *root_cache;
|
||||
|
@ -5328,7 +5328,7 @@ static struct kset *slab_kset;
|
|||
|
||||
static inline struct kset *cache_kset(struct kmem_cache *s)
|
||||
{
|
||||
#ifdef CONFIG_MEMCG_KMEM
|
||||
#ifdef CONFIG_MEMCG
|
||||
if (!is_root_cache(s))
|
||||
return s->memcg_params.root_cache->memcg_kset;
|
||||
#endif
|
||||
|
@ -5405,7 +5405,7 @@ static int sysfs_slab_add(struct kmem_cache *s)
|
|||
if (err)
|
||||
goto out_del_kobj;
|
||||
|
||||
#ifdef CONFIG_MEMCG_KMEM
|
||||
#ifdef CONFIG_MEMCG
|
||||
if (is_root_cache(s)) {
|
||||
s->memcg_kset = kset_create_and_add("cgroup", NULL, &s->kobj);
|
||||
if (!s->memcg_kset) {
|
||||
|
@ -5438,7 +5438,7 @@ void sysfs_slab_remove(struct kmem_cache *s)
|
|||
*/
|
||||
return;
|
||||
|
||||
#ifdef CONFIG_MEMCG_KMEM
|
||||
#ifdef CONFIG_MEMCG
|
||||
kset_unregister(s->memcg_kset);
|
||||
#endif
|
||||
kobject_uevent(&s->kobj, KOBJ_REMOVE);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue