summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2011-07-20 19:04:23 +0200
committerPekka Enberg <penberg@kernel.org>2011-07-20 20:27:56 +0300
commitb56efcf0a45aa7fc32de90d5f9838541082fbc19 (patch)
treee1de7ba007c79042d30454c11b78aa942e2666b3 /lib
parentc225150b86fef9f7663219b6e9f7606ea1607312 (diff)
downloadlinux-b56efcf0a45aa7fc32de90d5f9838541082fbc19.tar.gz
slab: shrink sizeof(struct kmem_cache)
Reduce high order allocations for some setups.
(NR_CPUS=4096 -> we need 64KB per kmem_cache struct)

We now allocate exact needed size (using nr_cpu_ids and nr_node_ids)

This also makes code a bit smaller on x86_64, since some field offsets
are less than the 127 limit :

Before patch :
# size mm/slab.o
   text    data     bss     dec     hex filename
  22605  361665      32  384302   5dd2e mm/slab.o

After patch :
# size mm/slab.o
   text    data     bss     dec     hex filename
  22349	 353473	   8224	 384046	  5dc2e	mm/slab.o

CC: Andrew Morton <akpm@linux-foundation.org>
Reported-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions