Messages in this thread | | | Date | Thu, 27 Nov 2008 08:44:41 -0600 (CST) | From | Christoph Lameter <> | Subject | Re: [PATCH 0/6] fs: Scalability of sockets/pipes allocation/deallocation on SMP |
| |
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.
| |