netdev
[Top] [All Lists]

Re: PATCH: kmalloc packet slab

To: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
Subject: Re: PATCH: kmalloc packet slab
From: Patrick McHardy <kaber@xxxxxxxxx>
Date: Mon, 27 Dec 2004 18:17:32 +0100
Cc: torvalds@xxxxxxxx, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, Maillist netdev <netdev@xxxxxxxxxxx>
In-reply-to: <1104156983.20944.25.camel@localhost.localdomain>
References: <1104156983.20944.25.camel@localhost.localdomain>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040413 Debian/1.6-5
Alan Cox wrote:
The networking world runs in 1514 byte packets pretty much all the time.
This adds a 1620 byte slab for such objects and is one of the internally
generated Red Hat patches we use on things like Fedora Core 3. Original:
Arjan van de Ven.

Signed-off-by: Alan Cox <alan@xxxxxxxxxx>

Why 1620 bytes ? Most drivers allocate packet_size + 2 bytes. dev_alloc_skb adds another 16 bytes, finally alloc_skb adds sizeof(struct skb_shared_info). So we get:

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

On paths using alloc_skb instead of dev_alloc_skb it's 16 bytes
less, but 1620 bytes is still too small for full-sized packets.

Regards
Patrick

<Prev in Thread] Current Thread [Next in Thread>