Message ID | 1331744185.6022.25.camel@edumazet-glaptop |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Am Mittwoch, 14. März 2012, 17:56:25 schrieb Eric Dumazet: > network drivers should reserve some headroom on incoming skbs so that we > dont need expensive reallocations, eg forwarding packets in tunnels. > > This NET_SKB_PAD padding is done in various helpers, like > __netdev_alloc_skb_ip_align() in this patch, combining NET_SKB_PAD and > NET_IP_ALIGN magic. > > Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> > Cc: Oliver Neukum <oneukum@suse.de> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Oliver Neukum <oneukum@suse.de> -- 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: Oliver Neukum <oneukum@suse.de> Date: Thu, 15 Mar 2012 18:01:03 +0100 > Am Mittwoch, 14. März 2012, 17:56:25 schrieb Eric Dumazet: >> network drivers should reserve some headroom on incoming skbs so that we >> dont need expensive reallocations, eg forwarding packets in tunnels. >> >> This NET_SKB_PAD padding is done in various helpers, like >> __netdev_alloc_skb_ip_align() in this patch, combining NET_SKB_PAD and >> NET_IP_ALIGN magic. >> >> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> >> Cc: Oliver Neukum <oneukum@suse.de> >> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Acked-by: Oliver Neukum <oneukum@suse.de> 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/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index 83dcc53..5903aea 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -328,13 +328,13 @@ static int rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags) unsigned long lockflags; size_t size = dev->rx_urb_size; - if ((skb = alloc_skb (size + NET_IP_ALIGN, flags)) == NULL) { + skb = __netdev_alloc_skb_ip_align(dev->net, size, flags); + if (!skb) { netif_dbg(dev, rx_err, dev->net, "no rx skb\n"); usbnet_defer_kevent (dev, EVENT_RX_MEMORY); usb_free_urb (urb); return -ENOMEM; } - skb_reserve (skb, NET_IP_ALIGN); entry = (struct skb_data *) skb->cb; entry->urb = urb;
network drivers should reserve some headroom on incoming skbs so that we dont need expensive reallocations, eg forwarding packets in tunnels. This NET_SKB_PAD padding is done in various helpers, like __netdev_alloc_skb_ip_align() in this patch, combining NET_SKB_PAD and NET_IP_ALIGN magic. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Oliver Neukum <oneukum@suse.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/net/usb/usbnet.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 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