Message ID | 1338298508-40376-1-git-send-email-nbd@openwrt.org |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Tue, 2012-05-29 at 15:35 +0200, Felix Fietkau wrote: > > Signed-off-by: Felix Fietkau <nbd@openwrt.org> > --- > include/linux/skbuff.h | 2 -- > 1 files changed, 0 insertions(+), 2 deletions(-) > Signed-off-by: Eric Dumazet <edumazet@google.com> Thanks ! -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Eric Dumazet <eric.dumazet@gmail.com> Date: Tue, 29 May 2012 15:43:00 +0200 > On Tue, 2012-05-29 at 15:35 +0200, Felix Fietkau wrote: > >> >> Signed-off-by: Felix Fietkau <nbd@openwrt.org> >> --- >> include/linux/skbuff.h | 2 -- >> 1 files changed, 0 insertions(+), 2 deletions(-) >> > > Signed-off-by: Eric Dumazet <edumazet@google.com> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 0e50171..b534a1b 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -1896,8 +1896,6 @@ static inline int __skb_cow(struct sk_buff *skb, unsigned int headroom, { int delta = 0; - if (headroom < NET_SKB_PAD) - headroom = NET_SKB_PAD; if (headroom > skb_headroom(skb)) delta = headroom - skb_headroom(skb);
At the beginning of __skb_cow, headroom gets set to a minimum of NET_SKB_PAD. This causes unnecessary reallocations if the buffer was not cloned and the headroom is just below NET_SKB_PAD, but still more than the amount requested by the caller. This was showing up frequently in my tests on VLAN tx, where vlan_insert_tag calls skb_cow_head(skb, VLAN_HLEN). Locally generated packets should have enough headroom, and for forward paths, we already have NET_SKB_PAD bytes of headroom, so we don't need to add any extra space here. Signed-off-by: Felix Fietkau <nbd@openwrt.org> --- include/linux/skbuff.h | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-)