Messages in this thread | | | Date | Sun, 20 Dec 2009 11:11:15 +0200 | From | Pekka Enberg <> | Subject | Re: [this_cpu_xx V8 03/16] Use this_cpu operations in slub |
| |
Christoph Lameter wrote: > Using per cpu allocations removes the needs for the per cpu arrays in the > kmem_cache struct. These could get quite big if we have to support systems > with thousands of cpus. The use of this_cpu_xx operations results in: > > 1. The size of kmem_cache for SMP configuration shrinks since we will only > need 1 pointer instead of NR_CPUS. The same pointer can be used by all > processors. Reduces cache footprint of the allocator. > > 2. We can dynamically size kmem_cache according to the actual nodes in the > system meaning less memory overhead for configurations that may potentially > support up to 1k NUMA nodes / 4k cpus. > > 3. We can remove the diddle widdle with allocating and releasing of > kmem_cache_cpu structures when bringing up and shutting down cpus. The cpu > alloc logic will do it all for us. Removes some portions of the cpu hotplug > functionality. > > 4. Fastpath performance increases since per cpu pointer lookups and > address calculations are avoided. > > V7-V8 > - Convert missed get_cpu_slab() under CONFIG_SLUB_STATS > > Cc: Pekka Enberg <penberg@cs.helsinki.fi> > Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
Patches 3-6 applied.
| |