From: Edward Cree <ecree@solarflare.com>
To: Paolo Abeni <pabeni@redhat.com>, David Miller <davem@davemloft.net>
Cc: netdev <netdev@vger.kernel.org>, Eric Dumazet <eric.dumazet@gmail.com>
Subject: Re: [RFC PATCH net-next 0/3] net: batched receive in GRO path
Date: Wed, 10 Jul 2019 15:52:07 +0100 [thread overview]
Message-ID: <677040f4-05d1-e664-d24a-5ee2d2edcdbd@solarflare.com> (raw)
In-Reply-To: <c80a9e7846bf903728327a1ca2c3bdcc078057a2.camel@redhat.com>
On 10/07/2019 08:27, Paolo Abeni wrote:
> I'm toying with a patch similar to your 3/3 (most relevant difference
> being the lack of a limit to the batch size), on top of ixgbe (which
> sends all the pkts to the GRO engine), and I'm observing more
> controversial results (UDP only):
>
> * when a single rx queue is running, I see a just-above-noise
> peformance delta
> * when multiple rx queues are running, I observe measurable regressions
> (note: I use small pkts, still well under line rate even with multiple
> rx queues)
>
> I'll try to test your patch in the following days.
I look forward to it.
> Side note: I think that in patch 3/3, it's necessary to add a call to
> gro_normal_list() also inside napi_busy_loop().
Hmm, I was caught out by the call to napi_poll() actually being a local
function pointer, not the static function of the same name. How did a
shadow like that ever get allowed?
But in that case I _really_ don't understand napi_busy_loop(); nothing
in it seems to ever flush GRO, so it's relying on either
(1) stuff getting flushed because the bucket runs out of space, or
(2) the next napi poll after busy_poll_stop() doing the flush.
What am I missing, and where exactly in napi_busy_loop() should the
gro_normal_list() call go?
-Ed
next prev parent reply other threads:[~2019-07-10 14:52 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-09 19:27 [RFC PATCH net-next 0/3] net: batched receive in GRO path Edward Cree
2019-07-09 19:28 ` [RFC PATCH net-next 1/3] sfc: don't score irq moderation points for GRO Edward Cree
2019-07-09 19:29 ` [RFC PATCH net-next 2/3] sfc: falcon: " Edward Cree
2019-07-09 19:29 ` [RFC PATCH net-next 3/3] net: use listified RX for handling GRO_NORMAL skbs Edward Cree
2019-07-10 7:27 ` [RFC PATCH net-next 0/3] net: batched receive in GRO path Paolo Abeni
2019-07-10 14:52 ` Edward Cree [this message]
2019-07-10 15:41 ` Eric Dumazet
2019-07-10 16:47 ` Edward Cree
2019-07-10 17:39 ` Eric Dumazet
2019-07-12 15:59 ` Edward Cree
2019-07-12 16:48 ` Eric Dumazet
2019-07-12 18:30 ` David Miller
2019-07-24 21:49 ` Edward Cree
2019-07-30 20:02 ` Edward Cree
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=677040f4-05d1-e664-d24a-5ee2d2edcdbd@solarflare.com \
--to=ecree@solarflare.com \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox