public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alexander Lobakin <aleksander.lobakin@intel.com>
To: Eric Dumazet <edumazet@google.com>
Cc: "Kees Cook" <kees@kernel.org>,
	"Andrew Lunn" <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Lorenzo Bianconi" <lorenzo@kernel.org>,
	"Daniel Xu" <dxu@dxuuu.xyz>,
	"Alexei Starovoitov" <ast@kernel.org>,
	"Daniel Borkmann" <daniel@iogearbox.net>,
	"Andrii Nakryiko" <andrii@kernel.org>,
	"John Fastabend" <john.fastabend@gmail.com>,
	"Toke Høiland-Jørgensen" <toke@kernel.org>,
	"Jesper Dangaard Brouer" <hawk@kernel.org>,
	"Martin KaFai Lau" <martin.lau@linux.dev>,
	netdev@vger.kernel.org, bpf@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	"Toke Høiland-Jørgensen" <toke@redhat.com>
Subject: Re: [PATCH net-next v4 1/8] net: gro: decouple GRO from the NAPI layer
Date: Fri, 7 Feb 2025 16:43:19 +0100	[thread overview]
Message-ID: <19f5473b-e7a3-4d39-a534-6ab2da2b16cf@intel.com> (raw)
In-Reply-To: <CANn89iKSw2QOeOzP8dke0X7cHheKdx=T9aQ7q7d8OemMNN8u7g@mail.gmail.com>

From: Eric Dumazet <edumazet@google.com>
Date: Fri, 7 Feb 2025 16:28:05 +0100

> OK, it seems there is not much to say.

I just asked for reading the details and my explanations, which I gave
several times, for your arguments and propositions for improving the
code. You know better than me that single a "I don't like this" doesn't
work here on LKML.

Since for now this is 1:1 disagreement which you don't seem to want to
resolve, anyone else can join this discussion and share his vision
(again, with arguments and propositions what wouldn't hurt hotpath).
I'm always glad to hear critics and improve code I write (I never mind
sending v5, v10 etc., which sometimes happens), but only when this would
actually give benefits to the code / perf / etc.

Putting gro_node out of napi_struct, moving napi_id back to napi_struct,
different approaches to handle fetching this ID to the skb we want to
pass to the GRO engine -- I tried all this and each of them hurts.
I don't mind sharing bloat-o-meter, pahole output etc etc, but I thought
the explanation in the commitmsg and the discussions in previous threads
explained enough.

...

Off the topic, but back in 2020 (or 2021) you were very against my idea
of using NAPI percpu caches to cache struct sk_buff there to lower MM
layer pressure when calling build_skb(). Convincing me that it doesn't
make sense, doesn't give anything etc. Now grep for 'napi_build_skb' and
look how many vendors/drivers use it. IIRC Mellanox reported +15%
switching from build_skb() some time ago.

Thanks,
Olek

  reply	other threads:[~2025-02-07 15:46 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-05 16:36 [PATCH net-next v4 0/8] bpf: cpumap: enable GRO for XDP_PASS frames Alexander Lobakin
2025-02-05 16:36 ` [PATCH net-next v4 1/8] net: gro: decouple GRO from the NAPI layer Alexander Lobakin
2025-02-05 17:48   ` Eric Dumazet
2025-02-06  2:56     ` Jakub Kicinski
2025-02-06 12:12     ` Alexander Lobakin
2025-02-06 18:35       ` Eric Dumazet
2025-02-07 11:56         ` Alexander Lobakin
2025-02-07 14:21           ` Przemek Kitszel
2025-02-07 14:55           ` Eric Dumazet
2025-02-07 15:18             ` Alexander Lobakin
2025-02-07 15:28               ` Eric Dumazet
2025-02-07 15:43                 ` Alexander Lobakin [this message]
2025-02-05 16:36 ` [PATCH net-next v4 2/8] net: gro: expose GRO init/cleanup to use outside of NAPI Alexander Lobakin
2025-02-05 16:36 ` [PATCH net-next v4 3/8] bpf: cpumap: switch to GRO from netif_receive_skb_list() Alexander Lobakin
2025-02-05 16:36 ` [PATCH net-next v4 4/8] bpf: cpumap: reuse skb array instead of a linked list to chain skbs Alexander Lobakin
2025-02-05 16:36 ` [PATCH net-next v4 5/8] net: skbuff: introduce napi_skb_cache_get_bulk() Alexander Lobakin
2025-02-05 16:36 ` [PATCH net-next v4 6/8] bpf: cpumap: switch to napi_skb_cache_get_bulk() Alexander Lobakin
2025-02-05 16:36 ` [PATCH net-next v4 7/8] veth: use napi_skb_cache_get_bulk() instead of xdp_alloc_skb_bulk() Alexander Lobakin
2025-02-05 16:36 ` [PATCH net-next v4 8/8] xdp: remove xdp_alloc_skb_bulk() Alexander Lobakin
2025-02-10 14:05 ` [PATCH net-next v4 0/8] bpf: cpumap: enable GRO for XDP_PASS frames Alexander Lobakin
2025-02-10 15:31   ` Eric Dumazet
2025-02-10 15:31     ` Alexander Lobakin
2025-02-11  0:35       ` Jakub Kicinski
2025-02-12 14:22         ` Alexander Lobakin
2025-02-12 15:55           ` Alexander Lobakin
2025-02-12 18:29             ` Jakub Kicinski
2025-02-14 15:43               ` Alexander Lobakin

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=19f5473b-e7a3-4d39-a534-6ab2da2b16cf@intel.com \
    --to=aleksander.lobakin@intel.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=dxu@dxuuu.xyz \
    --cc=edumazet@google.com \
    --cc=hawk@kernel.org \
    --cc=john.fastabend@gmail.com \
    --cc=kees@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lorenzo@kernel.org \
    --cc=martin.lau@linux.dev \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=toke@kernel.org \
    --cc=toke@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