diff options
| -rw-r--r-- | mm/slab.c | 24 | ||||
| -rw-r--r-- | mm/slab.h | 2 | ||||
| -rw-r--r-- | mm/slab_common.c | 23 | ||||
| -rw-r--r-- | mm/slub.c | 10 |
4 files changed, 23 insertions, 36 deletions
| @@ -4276,30 +4276,6 @@ out: | |||
| 4276 | } | 4276 | } |
| 4277 | 4277 | ||
| 4278 | #ifdef CONFIG_SLABINFO | 4278 | #ifdef CONFIG_SLABINFO |
| 4279 | |||
| 4280 | void print_slabinfo_header(struct seq_file *m) | ||
| 4281 | { | ||
| 4282 | /* | ||
| 4283 | * Output format version, so at least we can change it | ||
| 4284 | * without _too_ many complaints. | ||
| 4285 | */ | ||
| 4286 | #if STATS | ||
| 4287 | seq_puts(m, "slabinfo - version: 2.1 (statistics)\n"); | ||
| 4288 | #else | ||
| 4289 | seq_puts(m, "slabinfo - version: 2.1\n"); | ||
| 4290 | #endif | ||
| 4291 | seq_puts(m, "# name <active_objs> <num_objs> <objsize> " | ||
| 4292 | "<objperslab> <pagesperslab>"); | ||
| 4293 | seq_puts(m, " : tunables <limit> <batchcount> <sharedfactor>"); | ||
| 4294 | seq_puts(m, " : slabdata <active_slabs> <num_slabs> <sharedavail>"); | ||
| 4295 | #if STATS | ||
| 4296 | seq_puts(m, " : globalstat <listallocs> <maxobjs> <grown> <reaped> " | ||
| 4297 | "<error> <maxfreeable> <nodeallocs> <remotefrees> <alienoverflow>"); | ||
| 4298 | seq_puts(m, " : cpustat <allochit> <allocmiss> <freehit> <freemiss>"); | ||
| 4299 | #endif | ||
| 4300 | seq_putc(m, '\n'); | ||
| 4301 | } | ||
| 4302 | |||
| 4303 | int slabinfo_show(struct seq_file *m, void *p) | 4279 | int slabinfo_show(struct seq_file *m, void *p) |
| 4304 | { | 4280 | { |
| 4305 | struct kmem_cache *cachep = list_entry(p, struct kmem_cache, list); | 4281 | struct kmem_cache *cachep = list_entry(p, struct kmem_cache, list); |
| @@ -49,8 +49,6 @@ int __kmem_cache_shutdown(struct kmem_cache *); | |||
| 49 | 49 | ||
| 50 | struct seq_file; | 50 | struct seq_file; |
| 51 | struct file; | 51 | struct file; |
| 52 | void print_slabinfo_header(struct seq_file *m); | ||
| 53 | |||
| 54 | int slabinfo_show(struct seq_file *m, void *p); | 52 | int slabinfo_show(struct seq_file *m, void *p); |
| 55 | 53 | ||
| 56 | ssize_t slabinfo_write(struct file *file, const char __user *buffer, | 54 | ssize_t slabinfo_write(struct file *file, const char __user *buffer, |
diff --git a/mm/slab_common.c b/mm/slab_common.c index 2e4b4c6d89e2..c64a0438c1f3 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c | |||
| @@ -196,6 +196,29 @@ int slab_is_available(void) | |||
| 196 | } | 196 | } |
| 197 | 197 | ||
| 198 | #ifdef CONFIG_SLABINFO | 198 | #ifdef CONFIG_SLABINFO |
| 199 | static void print_slabinfo_header(struct seq_file *m) | ||
| 200 | { | ||
| 201 | /* | ||
| 202 | * Output format version, so at least we can change it | ||
| 203 | * without _too_ many complaints. | ||
| 204 | */ | ||
| 205 | #ifdef CONFIG_DEBUG_SLAB | ||
| 206 | seq_puts(m, "slabinfo - version: 2.1 (statistics)\n"); | ||
| 207 | #else | ||
| 208 | seq_puts(m, "slabinfo - version: 2.1\n"); | ||
| 209 | #endif | ||
| 210 | seq_puts(m, "# name <active_objs> <num_objs> <objsize> " | ||
| 211 | "<objperslab> <pagesperslab>"); | ||
| 212 | seq_puts(m, " : tunables <limit> <batchcount> <sharedfactor>"); | ||
| 213 | seq_puts(m, " : slabdata <active_slabs> <num_slabs> <sharedavail>"); | ||
| 214 | #ifdef CONFIG_DEBUG_SLAB | ||
| 215 | seq_puts(m, " : globalstat <listallocs> <maxobjs> <grown> <reaped> " | ||
| 216 | "<error> <maxfreeable> <nodeallocs> <remotefrees> <alienoverflow>"); | ||
| 217 | seq_puts(m, " : cpustat <allochit> <allocmiss> <freehit> <freemiss>"); | ||
| 218 | #endif | ||
| 219 | seq_putc(m, '\n'); | ||
| 220 | } | ||
| 221 | |||
| 199 | static void *s_start(struct seq_file *m, loff_t *pos) | 222 | static void *s_start(struct seq_file *m, loff_t *pos) |
| 200 | { | 223 | { |
| 201 | loff_t n = *pos; | 224 | loff_t n = *pos; |
| @@ -5405,16 +5405,6 @@ __initcall(slab_sysfs_init); | |||
| 5405 | * The /proc/slabinfo ABI | 5405 | * The /proc/slabinfo ABI |
| 5406 | */ | 5406 | */ |
| 5407 | #ifdef CONFIG_SLABINFO | 5407 | #ifdef CONFIG_SLABINFO |
| 5408 | void print_slabinfo_header(struct seq_file *m) | ||
| 5409 | { | ||
| 5410 | seq_puts(m, "slabinfo - version: 2.1\n"); | ||
| 5411 | seq_puts(m, "# name <active_objs> <num_objs> <object_size> " | ||
| 5412 | "<objperslab> <pagesperslab>"); | ||
| 5413 | seq_puts(m, " : tunables <limit> <batchcount> <sharedfactor>"); | ||
| 5414 | seq_puts(m, " : slabdata <active_slabs> <num_slabs> <sharedavail>"); | ||
| 5415 | seq_putc(m, '\n'); | ||
| 5416 | } | ||
| 5417 | |||
| 5418 | int slabinfo_show(struct seq_file *m, void *p) | 5408 | int slabinfo_show(struct seq_file *m, void *p) |
| 5419 | { | 5409 | { |
| 5420 | unsigned long nr_partials = 0; | 5410 | unsigned long nr_partials = 0; |
