Re: PATCH: kmalloc packet slab

From: Manfred Spraul
Date: Mon Dec 27 2004 - 12:43:29 EST




Why 1620 bytes ?

Because then 5 objects will fit into one 8 kB memory block:
5*1620+slab control structure.

Most drivers allocate packet_size + 2 bytes.
dev_alloc_skb adds another 16 bytes, finally alloc_skb adds
sizeof(struct skb_shared_info).



(32bit): 1514b + 2b + 16b + 160b = 1692b
(64bit): 1514b + 2b + 16b + 312b = 1844b



Hmm. If the shared_info is that large then the patch won't help much.

Alan - what is printed in the /proc/slabinfo line for the new cache?
- 1620 bytes is probably a bit too much for archs with 128 byte cache lines and 8 kB pages. If I've calculated correctly, only 4 will fit into one page.
- if the shared info is really that large - is the patch actually useful?

--
Manfred

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/