linux/drivers/net/usb
Eric Dumazet a9e0aca4b3 asix: asix_rx_fixup surgery to reduce skb truesizes
asix_rx_fixup() is complex, and does some unnecessary memory copies (at
least on x86 where NET_IP_ALIGN is 0)

Also, it tends to provide skbs with a big truesize (4096+256 with
MTU=1500) to upper stack, so incoming trafic consume a lot of memory and
I noticed early packet drops because we hit socket rcvbuf too fast.

Switch to a different strategy, using copybreak so that we provide nice
skbs to upper stack (including the NET_SKB_PAD to avoid future head
reallocations in some paths)

With this patch, I no longer see packets drops or tcp collapses on
various tcp workload with a AX88772 adapter.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Aurelien Jacobs <aurel@gnuage.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Trond Wuellner <trond@chromium.org>
Cc: Grant Grundler <grundler@chromium.org>
Cc: Paul Stewart <pstew@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-03-16 01:52:13 -07:00
..
asix.c asix: asix_rx_fixup surgery to reduce skb truesizes 2012-03-16 01:52:13 -07:00
catc.c USB: convert drivers/net/* to use module_usb_driver() 2011-11-18 09:44:20 -08:00
cdc_eem.c USB: convert drivers/net/* to use module_usb_driver() 2011-11-18 09:44:20 -08:00
cdc_ether.c Move Logitech Harmony 900 from cdc_ether to zaurus 2012-02-22 15:50:23 -05:00
cdc_ncm.c usb/cdc_ncm: print MAC via printk format specifier 2012-02-24 15:41:00 -05:00
cdc_subset.c USB: convert drivers/net/* to use module_usb_driver() 2011-11-18 09:44:20 -08:00
cdc-phonet.c Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core 2012-01-07 12:03:30 -08:00
cx82310_eth.c USB: convert drivers/net/* to use module_usb_driver() 2011-11-18 09:44:20 -08:00
dm9601.c USB: convert drivers/net/* to use module_usb_driver() 2011-11-18 09:44:20 -08:00
gl620a.c USB: convert drivers/net/* to use module_usb_driver() 2011-11-18 09:44:20 -08:00
hso.c hso: memsetting wrong data in hso_get_count() 2012-02-22 15:31:54 -05:00
int51x1.c USB: convert drivers/net/* to use module_usb_driver() 2011-11-18 09:44:20 -08:00
ipheth.c ipheth: Add iPhone 4S 2012-02-15 14:50:16 -05:00
kalmia.c USB: convert drivers/net/* to use module_usb_driver() 2011-11-18 09:44:20 -08:00
kaweth.c usb/kaweth: print MAC via printk format specifier 2012-02-24 15:41:00 -05:00
Kconfig net: usb: qmi_wwan: New driver for Huawei QMI based WWAN devices 2012-01-25 16:59:47 -05:00
lg-vl600.c Merge branch 'driver-core-next' into Linux 3.2 2012-01-06 11:42:52 -08:00
Makefile net: usb: qmi_wwan: New driver for Huawei QMI based WWAN devices 2012-01-25 16:59:47 -05:00
mcs7830.c mcs7830: unify return value of .ndo_set_mac_address if address is invalid 2012-02-23 17:03:20 -05:00
net1080.c USB: convert drivers/net/* to use module_usb_driver() 2011-11-18 09:44:20 -08:00
pegasus.c drivers/net: Remove alloc_etherdev error messages 2012-01-31 16:20:48 -05:00
pegasus.h usb: pegasus: fixed coding style issues 2010-06-30 10:26:16 -07:00
plusb.c USB: convert drivers/net/* to use module_usb_driver() 2011-11-18 09:44:20 -08:00
qmi_wwan.c net: usb: qmi_wwan: New driver for Huawei QMI based WWAN devices 2012-01-25 16:59:47 -05:00
rndis_host.c USB: convert drivers/net/* to use module_usb_driver() 2011-11-18 09:44:20 -08:00
rtl8150.c drivers/net: Remove alloc_etherdev error messages 2012-01-31 16:20:48 -05:00
sierra_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-01-09 14:46:52 -08:00
smsc75xx.c net: replace random_ether_addr() with eth_hw_addr_random() 2012-02-15 15:34:16 -05:00
smsc75xx.h
smsc95xx.c net: replace random_ether_addr() with eth_hw_addr_random() 2012-02-15 15:34:16 -05:00
smsc95xx.h
usbnet.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-03-09 14:34:20 -08:00
zaurus.c Move Logitech Harmony 900 from cdc_ether to zaurus 2012-02-22 15:50:23 -05:00