Skip to content

Commit

Permalink
memcg: rename some cache id related variables
Browse files Browse the repository at this point in the history
memcg_limited_groups_array_size, which defines the size of memcg_caches
arrays, sounds rather cumbersome.  Also it doesn't point anyhow that
it's related to kmem/caches stuff.  So let's rename it to
memcg_nr_cache_ids.  It's concise and points us directly to
memcg_cache_id.

Also, rename kmem_limited_groups to memcg_cache_ida.

Signed-off-by: Vladimir Davydov <[email protected]>
Cc: Dave Chinner <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Greg Thelen <[email protected]>
Cc: Glauber Costa <[email protected]>
Cc: Alexander Viro <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Pekka Enberg <[email protected]>
Cc: David Rientjes <[email protected]>
Cc: Joonsoo Kim <[email protected]>
Cc: Tejun Heo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Vladimir Davydov authored and torvalds committed Feb 13, 2015
1 parent cb731d6 commit dbcf73e
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 14 deletions.
4 changes: 2 additions & 2 deletions include/linux/memcontrol.h
Original file line number Diff line number Diff line change
Expand Up @@ -398,15 +398,15 @@ static inline void sock_release_memcg(struct sock *sk)
#ifdef CONFIG_MEMCG_KMEM
extern struct static_key memcg_kmem_enabled_key;

extern int memcg_limited_groups_array_size;
extern int memcg_nr_cache_ids;

/*
* Helper macro to loop through all memcg-specific caches. Callers must still
* check if the cache is valid (it is either valid or NULL).
* the slab_mutex must be held when looping through those caches
*/
#define for_each_memcg_cache_index(_idx) \
for ((_idx) = 0; (_idx) < memcg_limited_groups_array_size; (_idx)++)
for ((_idx) = 0; (_idx) < memcg_nr_cache_ids; (_idx)++)

static inline bool memcg_kmem_enabled(void)
{
Expand Down
19 changes: 9 additions & 10 deletions mm/memcontrol.c
Original file line number Diff line number Diff line change
Expand Up @@ -538,12 +538,11 @@ static void disarm_sock_keys(struct mem_cgroup *memcg)
* memcgs, and none but the 200th is kmem-limited, we'd have to have a
* 200 entry array for that.
*
* The current size of the caches array is stored in
* memcg_limited_groups_array_size. It will double each time we have to
* increase it.
* The current size of the caches array is stored in memcg_nr_cache_ids. It
* will double each time we have to increase it.
*/
static DEFINE_IDA(kmem_limited_groups);
int memcg_limited_groups_array_size;
static DEFINE_IDA(memcg_cache_ida);
int memcg_nr_cache_ids;

/*
* MIN_SIZE is different than 1, because we would like to avoid going through
Expand Down Expand Up @@ -2538,12 +2537,12 @@ static int memcg_alloc_cache_id(void)
int id, size;
int err;

id = ida_simple_get(&kmem_limited_groups,
id = ida_simple_get(&memcg_cache_ida,
0, MEMCG_CACHES_MAX_SIZE, GFP_KERNEL);
if (id < 0)
return id;

if (id < memcg_limited_groups_array_size)
if (id < memcg_nr_cache_ids)
return id;

/*
Expand All @@ -2559,15 +2558,15 @@ static int memcg_alloc_cache_id(void)

err = memcg_update_all_caches(size);
if (err) {
ida_simple_remove(&kmem_limited_groups, id);
ida_simple_remove(&memcg_cache_ida, id);
return err;
}
return id;
}

static void memcg_free_cache_id(int id)
{
ida_simple_remove(&kmem_limited_groups, id);
ida_simple_remove(&memcg_cache_ida, id);
}

/*
Expand All @@ -2577,7 +2576,7 @@ static void memcg_free_cache_id(int id)
*/
void memcg_update_array_size(int num)
{
memcg_limited_groups_array_size = num;
memcg_nr_cache_ids = num;
}

struct memcg_kmem_cache_create_work {
Expand Down
4 changes: 2 additions & 2 deletions mm/slab_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ static int memcg_alloc_cache_params(struct mem_cgroup *memcg,

if (!memcg) {
size = offsetof(struct memcg_cache_params, memcg_caches);
size += memcg_limited_groups_array_size * sizeof(void *);
size += memcg_nr_cache_ids * sizeof(void *);
} else
size = sizeof(struct memcg_cache_params);

Expand Down Expand Up @@ -154,7 +154,7 @@ static int memcg_update_cache_params(struct kmem_cache *s, int num_memcgs)

cur_params = s->memcg_params;
memcpy(new_params->memcg_caches, cur_params->memcg_caches,
memcg_limited_groups_array_size * sizeof(void *));
memcg_nr_cache_ids * sizeof(void *));

new_params->is_root_cache = true;

Expand Down

0 comments on commit dbcf73e

Please sign in to comment.