Commit c29b5b3d authored by Muchun Song's avatar Muchun Song Committed by Linus Torvalds

mm: slab: make slab iterator functions static

There is no external users of slab_start/next/stop(), so make them
static.  And the memory.kmem.slabinfo is deprecated, which outputs
nothing now, so move memcg_slab_show() into mm/memcontrol.c and rename
it to mem_cgroup_slab_show to be consistent with other function names.

Link: https://lkml.kernel.org/r/20211109133359.32881-1-songmuchun@bytedance.comSigned-off-by: default avatarMuchun Song <songmuchun@bytedance.com>
Reviewed-by: default avatarVlastimil Babka <vbabka@suse.cz>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 7302e91f
...@@ -4845,6 +4845,17 @@ static ssize_t memcg_write_event_control(struct kernfs_open_file *of, ...@@ -4845,6 +4845,17 @@ static ssize_t memcg_write_event_control(struct kernfs_open_file *of,
return ret; return ret;
} }
#if defined(CONFIG_MEMCG_KMEM) && (defined(CONFIG_SLAB) || defined(CONFIG_SLUB_DEBUG))
static int mem_cgroup_slab_show(struct seq_file *m, void *p)
{
/*
* Deprecated.
* Please, take a look at tools/cgroup/slabinfo.py .
*/
return 0;
}
#endif
static struct cftype mem_cgroup_legacy_files[] = { static struct cftype mem_cgroup_legacy_files[] = {
{ {
.name = "usage_in_bytes", .name = "usage_in_bytes",
...@@ -4945,7 +4956,7 @@ static struct cftype mem_cgroup_legacy_files[] = { ...@@ -4945,7 +4956,7 @@ static struct cftype mem_cgroup_legacy_files[] = {
(defined(CONFIG_SLAB) || defined(CONFIG_SLUB_DEBUG)) (defined(CONFIG_SLAB) || defined(CONFIG_SLUB_DEBUG))
{ {
.name = "kmem.slabinfo", .name = "kmem.slabinfo",
.seq_show = memcg_slab_show, .seq_show = mem_cgroup_slab_show,
}, },
#endif #endif
{ {
......
...@@ -575,11 +575,6 @@ static inline struct kmem_cache_node *get_node(struct kmem_cache *s, int node) ...@@ -575,11 +575,6 @@ static inline struct kmem_cache_node *get_node(struct kmem_cache *s, int node)
#endif #endif
void *slab_start(struct seq_file *m, loff_t *pos);
void *slab_next(struct seq_file *m, void *p, loff_t *pos);
void slab_stop(struct seq_file *m, void *p);
int memcg_slab_show(struct seq_file *m, void *p);
#if defined(CONFIG_SLAB) || defined(CONFIG_SLUB_DEBUG) #if defined(CONFIG_SLAB) || defined(CONFIG_SLUB_DEBUG)
void dump_unreclaimable_slab(void); void dump_unreclaimable_slab(void);
#else #else
......
...@@ -1039,18 +1039,18 @@ static void print_slabinfo_header(struct seq_file *m) ...@@ -1039,18 +1039,18 @@ static void print_slabinfo_header(struct seq_file *m)
seq_putc(m, '\n'); seq_putc(m, '\n');
} }
void *slab_start(struct seq_file *m, loff_t *pos) static void *slab_start(struct seq_file *m, loff_t *pos)
{ {
mutex_lock(&slab_mutex); mutex_lock(&slab_mutex);
return seq_list_start(&slab_caches, *pos); return seq_list_start(&slab_caches, *pos);
} }
void *slab_next(struct seq_file *m, void *p, loff_t *pos) static void *slab_next(struct seq_file *m, void *p, loff_t *pos)
{ {
return seq_list_next(p, &slab_caches, pos); return seq_list_next(p, &slab_caches, pos);
} }
void slab_stop(struct seq_file *m, void *p) static void slab_stop(struct seq_file *m, void *p)
{ {
mutex_unlock(&slab_mutex); mutex_unlock(&slab_mutex);
} }
...@@ -1118,17 +1118,6 @@ void dump_unreclaimable_slab(void) ...@@ -1118,17 +1118,6 @@ void dump_unreclaimable_slab(void)
mutex_unlock(&slab_mutex); mutex_unlock(&slab_mutex);
} }
#if defined(CONFIG_MEMCG_KMEM)
int memcg_slab_show(struct seq_file *m, void *p)
{
/*
* Deprecated.
* Please, take a look at tools/cgroup/slabinfo.py .
*/
return 0;
}
#endif
/* /*
* slabinfo_op - iterator that generates /proc/slabinfo * slabinfo_op - iterator that generates /proc/slabinfo
* *
......
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