Comment 37 for bug 947723

Revision history for this message
Ming Lei (tom-leiming) wrote : Re: [Bug 947723] Re: ASIX USB-Ethernet driver noticably slow, dropping packets and reporting RX errors

After some discussion in upstream maillist, looks the problem is caused
by below commit:

commit a9e0aca4b37885b5599e52211f098bd7f565e749
Author: Eric Dumazet <email address hidden>
Date: Wed Mar 14 20:18:32 2012 +0000

    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.

so I built kernel image with the patch, anyone can have a test?

          http://kernel.ubuntu.com/~ming/bugs/947723/i386/2/

thanks