[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1396372604.3989.11.camel@edumazet-glaptop2.roam.corp.google.com>
Date: Tue, 01 Apr 2014 10:16:44 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Michal Schmidt <mschmidt@...hat.com>
Cc: netdev@...r.kernel.org, Eric Dumazet <edumazet@...gle.com>,
"David S. Miller" <davem@...emloft.net>,
Jerry Chu <hkchu@...gle.com>
Subject: Re: [PATCH net-next] net-gro: restore frag0 optimization
On Tue, 2014-04-01 at 18:40 +0200, Michal Schmidt wrote:
> Eric,
> thank you. The patch improves the performance. Though it's still not as
> fast as it was before the commit "net-gro: Prepare GRO stack for the
> upcoming tunneling support". In repeated netperf runs my reporter now
> sees occasional results above 9 Gb/s, but on average it's only 7 Gb/s.
>
> With your patch only Ethernet headers (and not other headers) are copied
> into skbs' heads, but this is done for all skbs. Previously (before
> Jerry's patch) no copying was needed for skbs that were GRO_MERGED.
> Is this correct?
Note that TCP performance of a single flow is very dependent from
various factors, especially on a NUMA platform.
For example, consuming less cpu can have a side effect because it allows
it to enter deeper wait states on idle periods.
If you see a problem doing the memcpy(xxx, yyy, 14) then it means
that we would have had the issue later anyway.
Thats why some drivers are doing a prefetch(frame) way before calling
napi_gro_frags()
Sure, GRO stack is a bit more complex because it now handles
encapsulation.
So is the GSO stack, and we are OK with that because
it improves general use cases in DC/virtualization world.
Make sure everything is setup properly (irq smp_affinity),
and try to use multiple TCP flows, or make sure this is not a sender
issue.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists