diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2012-03-14 20:18:32 +0000 |
---|---|---|
committer | Ziyann <jaraidaniel@gmail.com> | 2014-10-01 12:58:53 +0200 |
commit | 7b6c790adcb99ce9ae49e0965dfa9c418cf37bbe (patch) | |
tree | a6729810f151cc4035ff37d002fdd3a1a6158238 /arch/arm/plat-omap | |
parent | ca8282f87a916467be1bda3a031dafe69a0108a8 (diff) | |
download | kernel_samsung_tuna-7b6c790adcb99ce9ae49e0965dfa9c418cf37bbe.zip kernel_samsung_tuna-7b6c790adcb99ce9ae49e0965dfa9c418cf37bbe.tar.gz kernel_samsung_tuna-7b6c790adcb99ce9ae49e0965dfa9c418cf37bbe.tar.bz2 |
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.
Backported from opensource a9e0aca4b37885b5599e52211f098bd7f565e749
Change-Id: I96b35e1e0037e42b9cda9025e9a72e1cc4996578
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>
Signed-off-by: Ruslan Bilovol <ruslan.bilovol@ti.com>
Diffstat (limited to 'arch/arm/plat-omap')
0 files changed, 0 insertions, 0 deletions