diff options
author | Glauber Costa | 2012-10-19 18:20:27 +0400 |
---|---|---|
committer | Pekka Enberg | 2012-10-24 09:39:16 +0300 |
commit | 0d7561c61d76690ed84bd1016acc0fcbff063205 (patch) | |
tree | 90870a84e7568020921d01300e73cc607410ff47 /mm/slab.h | |
parent | bcee6e2a13d580f6c21d748fcd7239ccc66cb4b8 (diff) |
sl[au]b: Process slabinfo_show in common code
With all the infrastructure in place, we can now have slabinfo_show
done from slab_common.c. A cache-specific function is called to grab
information about the cache itself, since that is still heavily
dependent on the implementation. But with the values produced by it, all
the printing and handling is done from common code.
Signed-off-by: Glauber Costa <glommer@parallels.com>
CC: Christoph Lameter <cl@linux.com>
CC: David Rientjes <rientjes@google.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'mm/slab.h')
-rw-r--r-- | mm/slab.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/mm/slab.h b/mm/slab.h index 3442eb83ee1e..5a43c2f13621 100644 --- a/mm/slab.h +++ b/mm/slab.h @@ -49,8 +49,22 @@ int __kmem_cache_shutdown(struct kmem_cache *); struct seq_file; struct file; -int slabinfo_show(struct seq_file *m, void *p); +struct slabinfo { + unsigned long active_objs; + unsigned long num_objs; + unsigned long active_slabs; + unsigned long num_slabs; + unsigned long shared_avail; + unsigned int limit; + unsigned int batchcount; + unsigned int shared; + unsigned int objects_per_slab; + unsigned int cache_order; +}; + +void get_slabinfo(struct kmem_cache *s, struct slabinfo *sinfo); +void slabinfo_show_stats(struct seq_file *m, struct kmem_cache *s); ssize_t slabinfo_write(struct file *file, const char __user *buffer, size_t count, loff_t *ppos); #endif |