From: Eric Dumazet Date: Wed, 14 Mar 2012 20:18:32 +0000 (+0000) Subject: asix: asix_rx_fixup surgery to reduce skb truesizes X-Git-Tag: v3.2.57~7 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a94c450fea945252e3beebacacd5d3b913f38f4b;p=pandora-kernel.git asix: asix_rx_fixup surgery to reduce skb truesizes commit a9e0aca4b37885b5599e52211f098bd7f565e749 upstream. 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 Cc: Aurelien Jacobs Cc: Greg Kroah-Hartman Cc: Trond Wuellner Cc: Grant Grundler Cc: Paul Stewart Reviewed-by: Grant Grundler Reviewed-by: Grant Grundler Signed-off-by: David S. Miller [ Emil: Backported to 3.2: fixed small conflict ] Signed-off-by: Emil Goode Signed-off-by: Ben Hutchings --- Reading git-diff-tree failed