Commit 791abe1e authored by Sergey Senozhatsky's avatar Sergey Senozhatsky Committed by Andrew Morton

zsmalloc: rename class stat mutators

A cosmetic change.

o Rename class_stat_inc() and class_stat_dec() to class_stat_add()
  and class_stat_sub() correspondingly. inc/dec are usually associated
  with +1/-1 modifications, while zsmlloc can modify stats by up
  to ->objs_per_zspage. Use add/sub (follow atomics naming).

o Rename zs_stat_get() to class_stat_read()
  get() is usually associated with ref-counting and is paired with put().
  zs_stat_get() simply reads class stat so rename to reflect it.
  (This also follows atomics naming).

Link: https://lkml.kernel.org/r/20240701031140.3756345-1-senozhatsky@chromium.orgSigned-off-by: default avatarSergey Senozhatsky <senozhatsky@chromium.org>
Reviewed-by: default avatarChengming Zhou <chengming.zhou@linux.dev>
Cc: Minchan Kim <minchan@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 9b89e018
...@@ -512,19 +512,19 @@ static int get_size_class_index(int size) ...@@ -512,19 +512,19 @@ static int get_size_class_index(int size)
return min_t(int, ZS_SIZE_CLASSES - 1, idx); return min_t(int, ZS_SIZE_CLASSES - 1, idx);
} }
static inline void class_stat_inc(struct size_class *class, static inline void class_stat_add(struct size_class *class, int type,
int type, unsigned long cnt) unsigned long cnt)
{ {
class->stats.objs[type] += cnt; class->stats.objs[type] += cnt;
} }
static inline void class_stat_dec(struct size_class *class, static inline void class_stat_sub(struct size_class *class, int type,
int type, unsigned long cnt) unsigned long cnt)
{ {
class->stats.objs[type] -= cnt; class->stats.objs[type] -= cnt;
} }
static inline unsigned long zs_stat_get(struct size_class *class, int type) static inline unsigned long class_stat_read(struct size_class *class, int type)
{ {
return class->stats.objs[type]; return class->stats.objs[type];
} }
...@@ -576,12 +576,12 @@ static int zs_stats_size_show(struct seq_file *s, void *v) ...@@ -576,12 +576,12 @@ static int zs_stats_size_show(struct seq_file *s, void *v)
seq_printf(s, " %5u %5u ", i, class->size); seq_printf(s, " %5u %5u ", i, class->size);
for (fg = ZS_INUSE_RATIO_10; fg < NR_FULLNESS_GROUPS; fg++) { for (fg = ZS_INUSE_RATIO_10; fg < NR_FULLNESS_GROUPS; fg++) {
inuse_totals[fg] += zs_stat_get(class, fg); inuse_totals[fg] += class_stat_read(class, fg);
seq_printf(s, "%9lu ", zs_stat_get(class, fg)); seq_printf(s, "%9lu ", class_stat_read(class, fg));
} }
obj_allocated = zs_stat_get(class, ZS_OBJS_ALLOCATED); obj_allocated = class_stat_read(class, ZS_OBJS_ALLOCATED);
obj_used = zs_stat_get(class, ZS_OBJS_INUSE); obj_used = class_stat_read(class, ZS_OBJS_INUSE);
freeable = zs_can_compact(class); freeable = zs_can_compact(class);
spin_unlock(&class->lock); spin_unlock(&class->lock);
...@@ -686,7 +686,7 @@ static void insert_zspage(struct size_class *class, ...@@ -686,7 +686,7 @@ static void insert_zspage(struct size_class *class,
struct zspage *zspage, struct zspage *zspage,
int fullness) int fullness)
{ {
class_stat_inc(class, fullness, 1); class_stat_add(class, fullness, 1);
list_add(&zspage->list, &class->fullness_list[fullness]); list_add(&zspage->list, &class->fullness_list[fullness]);
zspage->fullness = fullness; zspage->fullness = fullness;
} }
...@@ -702,7 +702,7 @@ static void remove_zspage(struct size_class *class, struct zspage *zspage) ...@@ -702,7 +702,7 @@ static void remove_zspage(struct size_class *class, struct zspage *zspage)
VM_BUG_ON(list_empty(&class->fullness_list[fullness])); VM_BUG_ON(list_empty(&class->fullness_list[fullness]));
list_del_init(&zspage->list); list_del_init(&zspage->list);
class_stat_dec(class, fullness, 1); class_stat_sub(class, fullness, 1);
} }
/* /*
...@@ -858,7 +858,7 @@ static void __free_zspage(struct zs_pool *pool, struct size_class *class, ...@@ -858,7 +858,7 @@ static void __free_zspage(struct zs_pool *pool, struct size_class *class,
cache_free_zspage(pool, zspage); cache_free_zspage(pool, zspage);
class_stat_dec(class, ZS_OBJS_ALLOCATED, class->objs_per_zspage); class_stat_sub(class, ZS_OBJS_ALLOCATED, class->objs_per_zspage);
atomic_long_sub(class->pages_per_zspage, &pool->pages_allocated); atomic_long_sub(class->pages_per_zspage, &pool->pages_allocated);
} }
...@@ -1374,7 +1374,7 @@ unsigned long zs_malloc(struct zs_pool *pool, size_t size, gfp_t gfp) ...@@ -1374,7 +1374,7 @@ unsigned long zs_malloc(struct zs_pool *pool, size_t size, gfp_t gfp)
obj_malloc(pool, zspage, handle); obj_malloc(pool, zspage, handle);
/* Now move the zspage to another fullness group, if required */ /* Now move the zspage to another fullness group, if required */
fix_fullness_group(class, zspage); fix_fullness_group(class, zspage);
class_stat_inc(class, ZS_OBJS_INUSE, 1); class_stat_add(class, ZS_OBJS_INUSE, 1);
goto out; goto out;
} }
...@@ -1392,8 +1392,8 @@ unsigned long zs_malloc(struct zs_pool *pool, size_t size, gfp_t gfp) ...@@ -1392,8 +1392,8 @@ unsigned long zs_malloc(struct zs_pool *pool, size_t size, gfp_t gfp)
newfg = get_fullness_group(class, zspage); newfg = get_fullness_group(class, zspage);
insert_zspage(class, zspage, newfg); insert_zspage(class, zspage, newfg);
atomic_long_add(class->pages_per_zspage, &pool->pages_allocated); atomic_long_add(class->pages_per_zspage, &pool->pages_allocated);
class_stat_inc(class, ZS_OBJS_ALLOCATED, class->objs_per_zspage); class_stat_add(class, ZS_OBJS_ALLOCATED, class->objs_per_zspage);
class_stat_inc(class, ZS_OBJS_INUSE, 1); class_stat_add(class, ZS_OBJS_INUSE, 1);
/* We completely set up zspage so mark them as movable */ /* We completely set up zspage so mark them as movable */
SetZsPageMovable(pool, zspage); SetZsPageMovable(pool, zspage);
...@@ -1454,7 +1454,7 @@ void zs_free(struct zs_pool *pool, unsigned long handle) ...@@ -1454,7 +1454,7 @@ void zs_free(struct zs_pool *pool, unsigned long handle)
spin_lock(&class->lock); spin_lock(&class->lock);
read_unlock(&pool->migrate_lock); read_unlock(&pool->migrate_lock);
class_stat_dec(class, ZS_OBJS_INUSE, 1); class_stat_sub(class, ZS_OBJS_INUSE, 1);
obj_free(class->size, obj); obj_free(class->size, obj);
fullness = fix_fullness_group(class, zspage); fullness = fix_fullness_group(class, zspage);
...@@ -1880,7 +1880,7 @@ static void async_free_zspage(struct work_struct *work) ...@@ -1880,7 +1880,7 @@ static void async_free_zspage(struct work_struct *work)
class = zspage_class(pool, zspage); class = zspage_class(pool, zspage);
spin_lock(&class->lock); spin_lock(&class->lock);
class_stat_dec(class, ZS_INUSE_RATIO_0, 1); class_stat_sub(class, ZS_INUSE_RATIO_0, 1);
__free_zspage(pool, class, zspage); __free_zspage(pool, class, zspage);
spin_unlock(&class->lock); spin_unlock(&class->lock);
} }
...@@ -1923,8 +1923,8 @@ static inline void zs_flush_migration(struct zs_pool *pool) { } ...@@ -1923,8 +1923,8 @@ static inline void zs_flush_migration(struct zs_pool *pool) { }
static unsigned long zs_can_compact(struct size_class *class) static unsigned long zs_can_compact(struct size_class *class)
{ {
unsigned long obj_wasted; unsigned long obj_wasted;
unsigned long obj_allocated = zs_stat_get(class, ZS_OBJS_ALLOCATED); unsigned long obj_allocated = class_stat_read(class, ZS_OBJS_ALLOCATED);
unsigned long obj_used = zs_stat_get(class, ZS_OBJS_INUSE); unsigned long obj_used = class_stat_read(class, ZS_OBJS_INUSE);
if (obj_allocated <= obj_used) if (obj_allocated <= obj_used)
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment