diff options
author | Christoph Lameter <clameter@sgi.com> | 2008-04-14 12:11:40 -0400 |
---|---|---|
committer | Pekka Enberg <penberg@cs.helsinki.fi> | 2008-04-27 11:28:17 -0400 |
commit | 205ab99dd103e3dd5b0964dad8a16dfe2db69b2e (patch) | |
tree | 026a601ea25681cbf34f37360880f78a305a32f5 /include/linux/slub_def.h | |
parent | 834f3d119234b35a1985a2449831d99356637937 (diff) |
slub: Update statistics handling for variable order slabs
Change the statistics to consider that slabs of the same slabcache
can have different number of objects in them since they may be of
different order.
Provide a new sysfs field
total_objects
which shows the total objects that the allocated slabs of a slabcache
could hold.
Add a max field that holds the largest slab order that was ever used
for a slab cache.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Diffstat (limited to 'include/linux/slub_def.h')
-rw-r--r-- | include/linux/slub_def.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h index 4131e5fbd18b..4236b5dee812 100644 --- a/include/linux/slub_def.h +++ b/include/linux/slub_def.h | |||
@@ -48,6 +48,7 @@ struct kmem_cache_node { | |||
48 | struct list_head partial; | 48 | struct list_head partial; |
49 | #ifdef CONFIG_SLUB_DEBUG | 49 | #ifdef CONFIG_SLUB_DEBUG |
50 | atomic_long_t nr_slabs; | 50 | atomic_long_t nr_slabs; |
51 | atomic_long_t total_objects; | ||
51 | struct list_head full; | 52 | struct list_head full; |
52 | #endif | 53 | #endif |
53 | }; | 54 | }; |
@@ -79,6 +80,7 @@ struct kmem_cache { | |||
79 | struct kmem_cache_node local_node; | 80 | struct kmem_cache_node local_node; |
80 | 81 | ||
81 | /* Allocation and freeing of slabs */ | 82 | /* Allocation and freeing of slabs */ |
83 | struct kmem_cache_order_objects max; | ||
82 | gfp_t allocflags; /* gfp flags to use on each alloc */ | 84 | gfp_t allocflags; /* gfp flags to use on each alloc */ |
83 | int refcount; /* Refcount for slab cache destroy */ | 85 | int refcount; /* Refcount for slab cache destroy */ |
84 | void (*ctor)(struct kmem_cache *, void *); | 86 | void (*ctor)(struct kmem_cache *, void *); |