Skip to content

Commit

Permalink
memcg: memcg_kmem_create_cache: make memcg_name_buf statically allocated
Browse files Browse the repository at this point in the history
It isn't worth complicating the code by allocating it on the first access,
because it only takes 256 bytes.

Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
Cc: 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>
  • Loading branch information
Vladimir Davydov authored and Linus Torvalds committed Jun 4, 2014
1 parent 073ee1c commit 93f39ee
Showing 1 changed file with 2 additions and 7 deletions.
9 changes: 2 additions & 7 deletions mm/memcontrol.c
Original file line number Diff line number Diff line change
Expand Up @@ -3135,7 +3135,8 @@ void memcg_free_cache_params(struct kmem_cache *s)
static void memcg_kmem_create_cache(struct mem_cgroup *memcg,
struct kmem_cache *root_cache)
{
static char *memcg_name_buf; /* protected by memcg_slab_mutex */
static char memcg_name_buf[NAME_MAX + 1]; /* protected by
memcg_slab_mutex */
struct kmem_cache *cachep;
int id;

Expand All @@ -3151,12 +3152,6 @@ static void memcg_kmem_create_cache(struct mem_cgroup *memcg,
if (cache_from_memcg_idx(root_cache, id))
return;

if (!memcg_name_buf) {
memcg_name_buf = kmalloc(NAME_MAX + 1, GFP_KERNEL);
if (!memcg_name_buf)
return;
}

cgroup_name(memcg->css.cgroup, memcg_name_buf, NAME_MAX + 1);
cachep = kmem_cache_create_memcg(memcg, root_cache, memcg_name_buf);
/*
Expand Down

0 comments on commit 93f39ee

Please sign in to comment.