From: Christoph Hellwig <hch@infradead.org>
To: Pavel Begunkov <asml.silence@gmail.com>
Cc: "Christoph Hellwig" <hch@infradead.org>,
"David Wei" <dw@davidwei.uk>,
io-uring@vger.kernel.org, netdev@vger.kernel.org,
"Jens Axboe" <axboe@kernel.dk>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
"Jesper Dangaard Brouer" <hawk@kernel.org>,
"David Ahern" <dsahern@kernel.org>,
"Mina Almasry" <almasrymina@google.com>,
"Stanislav Fomichev" <stfomichev@gmail.com>,
"Joe Damato" <jdamato@fastly.com>,
"Pedro Tammela" <pctammela@mojatatu.com>,
"Sumit Semwal" <sumit.semwal@linaro.org>,
"Christian König" <christian.koenig@amd.com>,
linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org,
linaro-mm-sig@lists.linaro.org
Subject: Re: [PATCH v6 02/15] net: generalise net_iov chunk owners
Date: Thu, 24 Oct 2024 09:06:24 -0700 [thread overview]
Message-ID: <ZxpwgLRNsrTBmJEr@infradead.org> (raw)
In-Reply-To: <a6864bf1-dd88-4ae0-bc67-b88bb4c17b44@gmail.com>
On Thu, Oct 24, 2024 at 03:23:06PM +0100, Pavel Begunkov wrote:
> > That's not what this series does. It adds the new memory_provider_ops
> > set of hooks, with once implementation for dmabufs, and one for
> > io_uring zero copy.
>
> First, it's not a _new_ abstraction over a buffer as you called it
> before, the abstraction (net_iov) is already merged.
Umm, it is a new ops vector.
> Second, you mention devmem TCP, and it's not just a page pool with
> "dmabufs", it's a user API to use it and other memory agnostic
> allocation logic. And yes, dmabufs there is the least technically
> important part. Just having a dmabuf handle solves absolutely nothing.
It solves a lot, becaue it provides a proper abstraction.
> > So you are precluding zero copy RX into anything but your magic
> > io_uring buffers, and using an odd abstraction for that.
>
> Right io_uring zero copy RX API expects transfer to happen into io_uring
> controlled buffers, and that's the entire idea. Buffers that are based
> on an existing network specific abstraction, which are not restricted to
> pages or anything specific in the long run, but the flow of which from
> net stack to user and back is controlled by io_uring. If you worry about
> abuse, io_uring can't even sanely initialise those buffers itself and
> therefore asking the page pool code to do that.
No, I worry about trying to io_uring for not good reason. This
pre-cludes in-kernel uses which would be extremly useful for
network storage drivers, and it precludes device memory of all
kinds.
> I'm even more confused how that would help. The user API has to
> be implemented and adding a new dmabuf gives nothing, not even
> mentioning it's not clear what semantics of that beast is
> supposed to be.
>
The dma-buf maintainers already explained to you last time
that there is absolutely no need to use the dmabuf UAPI, you
can use dma-bufs through in-kernel interfaces just fine.
next prev parent reply other threads:[~2024-10-24 16:06 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-16 18:52 [PATCH v6 00/15] io_uring zero copy rx David Wei
2024-10-16 18:52 ` [PATCH v6 01/15] net: prefix devmem specific helpers David Wei
2024-10-16 18:52 ` [PATCH v6 02/15] net: generalise net_iov chunk owners David Wei
2024-10-23 7:20 ` Christoph Hellwig
2024-10-23 14:34 ` Pavel Begunkov
2024-10-24 9:23 ` Christoph Hellwig
2024-10-24 14:23 ` Pavel Begunkov
2024-10-24 16:06 ` Christoph Hellwig [this message]
2024-10-24 16:40 ` Pavel Begunkov
2024-10-28 12:11 ` Christoph Hellwig
2024-10-29 16:35 ` Pavel Begunkov
2024-10-30 14:57 ` Christoph Hellwig
2024-10-16 18:52 ` [PATCH v6 03/15] net: page_pool: create hooks for custom page providers David Wei
2024-10-16 18:52 ` [PATCH v6 04/15] net: prepare for non devmem TCP memory providers David Wei
2024-10-16 18:52 ` [PATCH v6 05/15] net: page_pool: add ->scrub mem provider callback David Wei
2024-10-16 18:52 ` [PATCH v6 06/15] net: page pool: add helper creating area from pages David Wei
2024-10-16 18:52 ` [PATCH v6 07/15] net: page_pool: introduce page_pool_mp_return_in_cache David Wei
2024-10-16 18:52 ` [PATCH v6 08/15] net: add helper executing custom callback from napi David Wei
2024-10-21 14:25 ` Paolo Abeni
2024-10-21 15:49 ` Jens Axboe
2024-10-21 16:34 ` Pavel Begunkov
2024-10-21 17:16 ` Pavel Begunkov
2024-10-22 7:47 ` Paolo Abeni
2024-10-22 15:36 ` Pavel Begunkov
2024-10-16 18:52 ` [PATCH v6 09/15] io_uring/zcrx: add interface queue and refill queue David Wei
2024-10-21 15:33 ` Jens Axboe
2024-10-16 18:52 ` [PATCH v6 10/15] io_uring/zcrx: add io_zcrx_area David Wei
2024-10-21 15:35 ` Jens Axboe
2024-10-21 16:28 ` Pavel Begunkov
2024-10-21 16:29 ` Jens Axboe
2024-10-21 16:39 ` Pavel Begunkov
2024-10-16 18:52 ` [PATCH v6 11/15] io_uring/zcrx: implement zerocopy receive pp memory provider David Wei
2024-10-21 15:46 ` Jens Axboe
2024-10-16 18:52 ` [PATCH v6 12/15] io_uring/zcrx: add io_recvzc request David Wei
2024-10-21 16:05 ` Jens Axboe
2024-10-16 18:52 ` [PATCH v6 13/15] io_uring/zcrx: set pp memory provider for an rx queue David Wei
2024-10-21 16:30 ` Jens Axboe
2024-10-16 18:52 ` [PATCH v6 14/15] io_uring/zcrx: add copy fallback David Wei
2024-10-21 14:40 ` Paolo Abeni
2024-10-21 18:31 ` David Wei
2024-10-22 7:48 ` Paolo Abeni
2024-10-16 18:52 ` [PATCH v6 15/15] io_uring/zcrx: throttle receive requests David Wei
2024-10-21 16:36 ` Jens Axboe
2024-10-21 15:27 ` [PATCH v6 00/15] io_uring zero copy rx Jens Axboe
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=ZxpwgLRNsrTBmJEr@infradead.org \
--to=hch@infradead.org \
--cc=almasrymina@google.com \
--cc=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=christian.koenig@amd.com \
--cc=davem@davemloft.net \
--cc=dri-devel@lists.freedesktop.org \
--cc=dsahern@kernel.org \
--cc=dw@davidwei.uk \
--cc=edumazet@google.com \
--cc=hawk@kernel.org \
--cc=io-uring@vger.kernel.org \
--cc=jdamato@fastly.com \
--cc=kuba@kernel.org \
--cc=linaro-mm-sig@lists.linaro.org \
--cc=linux-media@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pctammela@mojatatu.com \
--cc=stfomichev@gmail.com \
--cc=sumit.semwal@linaro.org \
/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.