All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stanislav Fomichev <sdf.kernel@gmail.com>
To: Pavel Begunkov <asml.silence@gmail.com>
Cc: Mina Almasry <almasrymina@google.com>,
	netdev@vger.kernel.org,  davem@davemloft.net,
	edumazet@google.com, kuba@kernel.org, pabeni@redhat.com,
	 horms@kernel.org, hawk@kernel.org, ilias.apalodimas@linaro.org,
	axboe@kernel.dk,  sdf@fomichev.me, bobbyeshleman@meta.com,
	kaiyuanz@google.com,  linux-kernel@vger.kernel.org,
	io-uring@vger.kernel.org
Subject: Re: [PATCH net-next 1/3] net: netmem: add net_iov_area freelist helpers
Date: Fri, 25 Sep 2026 08:49:20 -0700	[thread overview]
Message-ID: <araXlPI7GjEn9rFK@devvm7509.cco0.facebook.com> (raw)
In-Reply-To: <8d1c634d-f481-4c10-a773-c4cab414f6c5@gmail.com>

On 09/25, Pavel Begunkov wrote:
> On 9/24/26 17:48, Stanislav Fomichev wrote:
> > On 09/24, Pavel Begunkov wrote:
> > > On 9/24/26 16:02, Mina Almasry wrote:
> > > > On Tue, Sep 22, 2026 at 1:43 PM Stanislav Fomichev <sdf.kernel@gmail.com> wrote:
> > > > > 
> > > > > io_uring zero-copy receive and devmem both maintain a bounded LIFO for
> > > > > net_iovs in a contiguous area. Store the freelist in struct net_iov_area
> > > > > and provide common push and pop helpers.
> > > > > 
> > > > > Leave synchronization to area owners. Keep devmem's area adjacent to its
> > > > 
> > > > This could be a follow up change, but I think synchronization should
> > > > be provided by the netmem/niov infra, rather than the area owners. TBH
> > > > the infra providing an unsynchronized data structure and letting the
> > > > area owner use it and shoot themselves in the foot feels error prone.
> > > > For now we could use a comment.
> > > 
> > > I don't think we want it. The duplication is minor, but I'm not set
> > > on the per area index array approach, and it'd make changing it
> > > more difficult.
> > 
> > Do you want me to not touch iou in this patch at all? Or are you talking
> > about potential future synchronization part?
> 
> Sorry, I should've more specific. I meant that I don't think trying to
> consolidate it at all makes much sense, and I'd just drop this patch.
> > I don't see how this is making changing it more difficult, the freelist is
> > now behind push/pop which you can freely change, and both UAPIs benefit
> > from a faster/better freelist.
> 
> There are several reasons. If there is any mismatch in how it's done
> b/w io_uring and devmem it'd need to be split back, and then having it
> in struct net_iov_area for devmem only wouldn't make sense. E.g.
> Packaging of {area/offset} pair if converted to a ifq global list might
> differ. And it moves one part of buffer management to another tree, and
> there was already a precedent of patches being blocked for no technical
> reasons; I'd rather minimise cross-tree changes. Synchronisation might
> also be a bit difficult, zcrx uses it to protect more than just the
> freelist modifications, patterns like lock(zcrx_area->common_area.lock)
> in the zcrx code is usually not a great idea. In general, I just think
> the upside is smaller comparing to losing the development flexibility,
> it's not it makes it faster, nor the current code is tricky or complex.
> Hope it explains it.

SG, none of these sound material to me :-p but I'll resubmit with io_uring
part removed. I do like the index approach (for halving the array memory
requirements), will switch devmem to it.

  reply	other threads:[~2026-09-25 15:55 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-22 20:43 [PATCH net-next 0/3] net: consolidate net_iov freelist and DMA handling Stanislav Fomichev
2026-09-22 20:43 ` [PATCH net-next 1/3] net: netmem: add net_iov_area freelist helpers Stanislav Fomichev
2026-09-23 23:46   ` netdev-bot+sashiko
2026-09-24 16:28     ` Stanislav Fomichev
2026-09-24 15:02   ` Mina Almasry
2026-09-24 15:41     ` Pavel Begunkov
2026-09-24 16:46       ` Mina Almasry
2026-09-25 11:11         ` Pavel Begunkov
2026-09-24 16:48       ` Stanislav Fomichev
2026-09-25 11:42         ` Pavel Begunkov
2026-09-25 15:49           ` Stanislav Fomichev [this message]
2026-09-24 16:45     ` Stanislav Fomichev
2026-09-22 20:43 ` [PATCH net-next 2/3] net: devmem: use memory provider helpers for net_iovs Stanislav Fomichev
2026-09-23 23:46   ` netdev-bot+sashiko
2026-09-24 16:25     ` Stanislav Fomichev
2026-09-24 15:15   ` Mina Almasry
2026-09-27 18:13   ` Pavel Begunkov
2026-09-22 20:43 ` [PATCH net-next 3/3] net: devmem: decode DMA addresses for TX Stanislav Fomichev
2026-09-24 19:26   ` Mina Almasry
2026-09-27 18:21   ` Pavel Begunkov

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=araXlPI7GjEn9rFK@devvm7509.cco0.facebook.com \
    --to=sdf.kernel@gmail.com \
    --cc=almasrymina@google.com \
    --cc=asml.silence@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=bobbyeshleman@meta.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hawk@kernel.org \
    --cc=horms@kernel.org \
    --cc=ilias.apalodimas@linaro.org \
    --cc=io-uring@vger.kernel.org \
    --cc=kaiyuanz@google.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=sdf@fomichev.me \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.