diff options
author | Alex Shi <alex.shi@intel.com> | 2012-02-03 10:34:56 -0500 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2012-02-18 04:00:09 -0500 |
commit | 8028dcea8abbbd51b5156e40ea214c20b559cd01 (patch) | |
tree | b4f60cce7da33fa2942262043a3834724c07405b /include/linux/slub_def.h | |
parent | 4de900b4d6b2216b7443d32e263f5de9078697a3 (diff) |
slub: per cpu partial statistics change
This patch split the cpu_partial_free into 2 parts: cpu_partial_node, PCP refilling
times from node partial; and same name cpu_partial_free, PCP refilling times in
slab_free slow path. A new statistic 'cpu_partial_drain' is added to get PCP
drain to node partial times. These info are useful when do PCP tunning.
The slabinfo.c code is unchanged, since cpu_partial_node is not on slow path.
Signed-off-by: Alex Shi <alex.shi@intel.com>
Acked-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'include/linux/slub_def.h')
-rw-r--r-- | include/linux/slub_def.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h index a32bcfdc7834..6388a6681af1 100644 --- a/include/linux/slub_def.h +++ b/include/linux/slub_def.h | |||
@@ -21,7 +21,7 @@ enum stat_item { | |||
21 | FREE_FROZEN, /* Freeing to frozen slab */ | 21 | FREE_FROZEN, /* Freeing to frozen slab */ |
22 | FREE_ADD_PARTIAL, /* Freeing moves slab to partial list */ | 22 | FREE_ADD_PARTIAL, /* Freeing moves slab to partial list */ |
23 | FREE_REMOVE_PARTIAL, /* Freeing removes last object */ | 23 | FREE_REMOVE_PARTIAL, /* Freeing removes last object */ |
24 | ALLOC_FROM_PARTIAL, /* Cpu slab acquired from partial list */ | 24 | ALLOC_FROM_PARTIAL, /* Cpu slab acquired from node partial list */ |
25 | ALLOC_SLAB, /* Cpu slab acquired from page allocator */ | 25 | ALLOC_SLAB, /* Cpu slab acquired from page allocator */ |
26 | ALLOC_REFILL, /* Refill cpu slab from slab freelist */ | 26 | ALLOC_REFILL, /* Refill cpu slab from slab freelist */ |
27 | ALLOC_NODE_MISMATCH, /* Switching cpu slab */ | 27 | ALLOC_NODE_MISMATCH, /* Switching cpu slab */ |
@@ -37,7 +37,9 @@ enum stat_item { | |||
37 | CMPXCHG_DOUBLE_CPU_FAIL,/* Failure of this_cpu_cmpxchg_double */ | 37 | CMPXCHG_DOUBLE_CPU_FAIL,/* Failure of this_cpu_cmpxchg_double */ |
38 | CMPXCHG_DOUBLE_FAIL, /* Number of times that cmpxchg double did not match */ | 38 | CMPXCHG_DOUBLE_FAIL, /* Number of times that cmpxchg double did not match */ |
39 | CPU_PARTIAL_ALLOC, /* Used cpu partial on alloc */ | 39 | CPU_PARTIAL_ALLOC, /* Used cpu partial on alloc */ |
40 | CPU_PARTIAL_FREE, /* USed cpu partial on free */ | 40 | CPU_PARTIAL_FREE, /* Refill cpu partial on free */ |
41 | CPU_PARTIAL_NODE, /* Refill cpu partial from node partial */ | ||
42 | CPU_PARTIAL_DRAIN, /* Drain cpu partial to node partial */ | ||
41 | NR_SLUB_STAT_ITEMS }; | 43 | NR_SLUB_STAT_ITEMS }; |
42 | 44 | ||
43 | struct kmem_cache_cpu { | 45 | struct kmem_cache_cpu { |