Skip to content

Commit

Permalink
mm/sl[au]b: Move print_slabinfo_header to slab_common.c
Browse files Browse the repository at this point in the history
The header format is highly similar between slab and slub. The main
difference lays in the fact that slab may optionally have statistics
added here in case of CONFIG_SLAB_DEBUG, while the slub will stick them
somewhere else.

By making sure that information conditionally lives inside a
globally-visible CONFIG_DEBUG_SLAB switch, we can move the header
printing to a common location.

Signed-off-by: Glauber Costa <[email protected]>
Acked-by: Christoph Lameter <[email protected]>
CC: David Rientjes <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
  • Loading branch information
Glauber Costa authored and penberg committed Oct 24, 2012
1 parent b7454ad commit bcee6e2
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 36 deletions.
24 changes: 0 additions & 24 deletions mm/slab.c
Original file line number Diff line number Diff line change
Expand Up @@ -4276,30 +4276,6 @@ static void cache_reap(struct work_struct *w)
}

#ifdef CONFIG_SLABINFO

void print_slabinfo_header(struct seq_file *m)
{
/*
* Output format version, so at least we can change it
* without _too_ many complaints.
*/
#if STATS
seq_puts(m, "slabinfo - version: 2.1 (statistics)\n");
#else
seq_puts(m, "slabinfo - version: 2.1\n");
#endif
seq_puts(m, "# name <active_objs> <num_objs> <objsize> "
"<objperslab> <pagesperslab>");
seq_puts(m, " : tunables <limit> <batchcount> <sharedfactor>");
seq_puts(m, " : slabdata <active_slabs> <num_slabs> <sharedavail>");
#if STATS
seq_puts(m, " : globalstat <listallocs> <maxobjs> <grown> <reaped> "
"<error> <maxfreeable> <nodeallocs> <remotefrees> <alienoverflow>");
seq_puts(m, " : cpustat <allochit> <allocmiss> <freehit> <freemiss>");
#endif
seq_putc(m, '\n');
}

int slabinfo_show(struct seq_file *m, void *p)
{
struct kmem_cache *cachep = list_entry(p, struct kmem_cache, list);
Expand Down
2 changes: 0 additions & 2 deletions mm/slab.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,6 @@ int __kmem_cache_shutdown(struct kmem_cache *);

struct seq_file;
struct file;
void print_slabinfo_header(struct seq_file *m);

int slabinfo_show(struct seq_file *m, void *p);

ssize_t slabinfo_write(struct file *file, const char __user *buffer,
Expand Down
23 changes: 23 additions & 0 deletions mm/slab_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,29 @@ int slab_is_available(void)
}

#ifdef CONFIG_SLABINFO
static void print_slabinfo_header(struct seq_file *m)
{
/*
* Output format version, so at least we can change it
* without _too_ many complaints.
*/
#ifdef CONFIG_DEBUG_SLAB
seq_puts(m, "slabinfo - version: 2.1 (statistics)\n");
#else
seq_puts(m, "slabinfo - version: 2.1\n");
#endif
seq_puts(m, "# name <active_objs> <num_objs> <objsize> "
"<objperslab> <pagesperslab>");
seq_puts(m, " : tunables <limit> <batchcount> <sharedfactor>");
seq_puts(m, " : slabdata <active_slabs> <num_slabs> <sharedavail>");
#ifdef CONFIG_DEBUG_SLAB
seq_puts(m, " : globalstat <listallocs> <maxobjs> <grown> <reaped> "
"<error> <maxfreeable> <nodeallocs> <remotefrees> <alienoverflow>");
seq_puts(m, " : cpustat <allochit> <allocmiss> <freehit> <freemiss>");
#endif
seq_putc(m, '\n');
}

static void *s_start(struct seq_file *m, loff_t *pos)
{
loff_t n = *pos;
Expand Down
10 changes: 0 additions & 10 deletions mm/slub.c
Original file line number Diff line number Diff line change
Expand Up @@ -5405,16 +5405,6 @@ __initcall(slab_sysfs_init);
* The /proc/slabinfo ABI
*/
#ifdef CONFIG_SLABINFO
void print_slabinfo_header(struct seq_file *m)
{
seq_puts(m, "slabinfo - version: 2.1\n");
seq_puts(m, "# name <active_objs> <num_objs> <object_size> "
"<objperslab> <pagesperslab>");
seq_puts(m, " : tunables <limit> <batchcount> <sharedfactor>");
seq_puts(m, " : slabdata <active_slabs> <num_slabs> <sharedavail>");
seq_putc(m, '\n');
}

int slabinfo_show(struct seq_file *m, void *p)
{
unsigned long nr_partials = 0;
Expand Down

0 comments on commit bcee6e2

Please sign in to comment.