Subject: Re: [BUG,REGRESSION?] 3.11.6+,3.12: GbE iface rate drops to few KB/s

From: Willy Tarreau <[email-masked]>
Date: Thu, 21 Nov 2013 22:52:59 +0100

On Thu, Nov 21, 2013 at 10:51:09PM +0100, Arnaud Ebalard wrote:
> Hi,
> 
> Willy Tarreau <[email-masked]> writes:
> 
> > OK it paid off. And very well :-)
> >
> > I did it at once and it worked immediately. I generally don't like this
> > because I always fear that some bug was left there hidden in the code. I have
> > only tested it on the Mirabox, so I'll have to try on the OpenBlocks AX3-4 and
> > on the XP-GP board for some SMP stress tests.
> >
> > I upgraded my Mirabox to latest Linus' git (commit 5527d151) and compared
> > with and without the patch.
> >
> >   without :
> >       - need at least 12 streams to reach gigabit.
> >       - 60% of idle CPU remains at 1 Gbps
> >       - HTTP connection rate on empty objects is 9950 connections/s
> >       - cumulated outgoing traffic on two ports reaches 1.3 Gbps
> >
> >   with the patch :
> >       - a single stream easily saturates the gigabit
> >       - 87% of idle CPU at 1 Gbps (12 streams, 90% idle at 1 stream)
> >       - HTTP connection rate on empty objects is 10250 connections/s
> >       - I saturate the two gig ports at 99% CPU, so 2 Gbps sustained output.
> >
> > BTW I must say I was impressed to see that big an improvement in CPU
> > usage between 3.10 and 3.13, I suspect some of the Tx queue improvements
> > that Eric has done in between account for this.
> >
> > I cut the patch in 3 parts :
> >    - one which reintroduces the hidden bits of the driver
> >    - one which replaces the timer with the IRQ
> >    - one which changes the default Tx coalesce from 16 to 4 packets
> >      (larger was preferred with the timer, but less is better now).
> >
> > I'm attaching them, please test them on your device.
> 
> Well, on the RN102 (Armada 370), I get the same results as with your
> previous patch, i.e. netperf and nginx saturate the link. Apache still
> lagging behind though.
> 
> > Note that this is *not* for inclusion at the moment as it has not been
> > tested on the SMP CPUs.
> 
> I tested it on my RN2120 (2-core armada XP): I got no problem and the
> link saturated w/ apache, nginx and netperf. Good work!

Great, thanks for your tests Arnaud. I forgot to mention that all my
tests this evening involved this patch as well.

Cheers,
Willy