a9e0aca4b3
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> |
||
---|---|---|
.. | ||
asix.c | ||
catc.c | ||
cdc-phonet.c | ||
cdc_eem.c | ||
cdc_ether.c | ||
cdc_ncm.c | ||
cdc_subset.c | ||
cx82310_eth.c | ||
dm9601.c | ||
gl620a.c | ||
hso.c | ||
int51x1.c | ||
ipheth.c | ||
kalmia.c | ||
kaweth.c | ||
Kconfig | ||
lg-vl600.c | ||
Makefile | ||
mcs7830.c | ||
net1080.c | ||
pegasus.c | ||
pegasus.h | ||
plusb.c | ||
qmi_wwan.c | ||
rndis_host.c | ||
rtl8150.c | ||
sierra_net.c | ||
smsc75xx.c | ||
smsc75xx.h | ||
smsc95xx.c | ||
smsc95xx.h | ||
usbnet.c | ||
zaurus.c |