On Mon, 2008-05-05 at 16:03 -0700, David Miller wrote:
quoted hunk
@@ -255,11 +255,12 @@ struct sk_buff *__netdev_alloc_skb(struct net_device *dev,
unsigned int length, gfp_t gfp_mask)
{
int node = dev->dev.parent ? dev_to_node(dev->dev.parent) : -1;
+ unsigned int extra = dev->rx_alloc_extra + NET_SKB_PAD;
struct sk_buff *skb;
- skb = __alloc_skb(length + NET_SKB_PAD, gfp_mask, 0, node);
+ skb = __alloc_skb(length + extra, gfp_mask, 0, node);
if (likely(skb)) {
- skb_reserve(skb, NET_SKB_PAD);
+ skb_reserve(skb, extra);
Come to think of it, if you want to bridge two wireless AP-mode devices
with different headroom .... Nah.
four-byte multiple isn't quite right though, but I'm not sure what would
be, probably multiple of NET_SKB_PAD?
johannes