Re: [PATCH 0/6] fs: Scalability of sockets/pipes allocation/deallocation on SMP
From: Christoph Lameter <hidden>
Date: 2008-11-27 14:45:57
Also in:
lkml
From: Christoph Lameter <hidden>
Date: 2008-11-27 14:45:57
Also in:
lkml
On Thu, 27 Nov 2008, Eric Dumazet wrote:
with slub_min_objects=45 : # cat /sys/kernel/slab/filp/order 2 # time ./socket8 real 0m1.652s user 0m0.694s sys 0m12.367s
That may be a good value. How many processor do you have? Look at
calculate_order() in mm/slub.c:
if (!min_objects)
min_objects = 4 * (fls(nr_cpu_ids) + 1);
We couild increase the scaling factor there or start
with a mininum of 20 objects?
Try
min_objects = 20 + 4 * (fls(nr_cpu_ids) + 1);
I would say slub_min_objects=45 is the optimal value on 32bit arches to get acceptable performance on this workload (order=2 for filp kmem_cache) Note : SLAB here is disastrous, but you already knew that :)
Its good though to have examples where the queue management gets in the way of performance.