| #ifndef _PROC_SLAB_H |
| #define _PROC_SLAB_H |
| |
| #define SLAB_INFO_NAME_LEN 64 |
| |
| struct slab_info { |
| char name[SLAB_INFO_NAME_LEN]; /* name of this cache */ |
| struct slab_info *next; |
| unsigned long cache_size; /* size of entire cache */ |
| unsigned nr_objs; /* number of objects in this cache */ |
| unsigned nr_active_objs; /* number of active objects */ |
| unsigned obj_size; /* size of each object */ |
| unsigned objs_per_slab; /* number of objects per slab */ |
| unsigned pages_per_slab; /* number of pages per slab */ |
| unsigned nr_slabs; /* number of slabs in this cache */ |
| unsigned nr_active_slabs; /* number of active slabs */ |
| unsigned use; /* percent full: total / active */ |
| }; |
| |
| struct slab_stat { |
| unsigned long total_size; /* size of all objects */ |
| unsigned long active_size; /* size of all active objects */ |
| unsigned nr_objs; /* number of objects, among all caches */ |
| unsigned nr_active_objs; /* number of active objects, among all caches */ |
| unsigned nr_pages; /* number of pages consumed by all objects */ |
| unsigned nr_slabs; /* number of slabs, among all caches */ |
| unsigned nr_active_slabs; /* number of active slabs, among all caches */ |
| unsigned nr_caches; /* number of caches */ |
| unsigned nr_active_caches; /* number of active caches */ |
| unsigned avg_obj_size; /* average object size */ |
| unsigned min_obj_size; /* size of smallest object */ |
| unsigned max_obj_size; /* size of largest object */ |
| }; |
| |
| extern void put_slabinfo(struct slab_info *); |
| extern void free_slabinfo(struct slab_info *); |
| extern int get_slabinfo(struct slab_info **, struct slab_stat *); |
| |
| #endif /* _PROC_SLAB_H */ |