[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <msagplmsxewgtlj5e2iynvv2fizrnvms6ccntilqygojactkdh@a5ei7ktu6xrv>
Date: Mon, 21 Jul 2025 07:00:02 +0000
From: Dragos Tatulea <dtatulea@...dia.com>
To: Parav Pandit <parav@...dia.com>, Christoph Hellwig <hch@...radead.org>,
Jakub Kicinski <kuba@...nel.org>
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Paolo Abeni <pabeni@...hat.com>, Simon Horman <horms@...nel.org>,
Andrew Lunn <andrew+netdev@...n.ch>, Jens Axboe <axboe@...nel.dk>, Cosmin Ratiu <cratiu@...dia.com>,
Tariq Toukan <tariqt@...dia.com>, Pavel Begunkov <asml.silence@...il.com>,
Mina Almasry <almasrymina@...gle.com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "io-uring@...r.kernel.org" <io-uring@...r.kernel.org>
Subject: Re: [PATCH v2 net-next] net: Allow SF devices to be used for ZC DMA
On Wed, Jul 16, 2025 at 01:23:13PM +0200, Parav Pandit wrote:
>
> > From: Christoph Hellwig <hch@...radead.org>
> > Sent: 16 July 2025 04:44 PM
> >
> > On Tue, Jul 15, 2025 at 06:06:49AM -0700, Jakub Kicinski wrote:
> > > On Mon, 14 Jul 2025 21:39:30 -0700 Christoph Hellwig wrote:
> > > > > LGTM, but we need a better place for this function. netdevice.h is
> > > > > included directly by 1.5k files, and indirectly by probably another 5k.
> > > > > It's not a great place to put random helpers with 2 callers.
> > > > > Maybe net/netdev_rx_queue.h and net/core/netdev_rx_queue.c?
> > > > > I don't think it needs to be a static inline either.
> > > >
> > > > The whole concept is also buggy. Trying to get a dma-able device by
> > > > walking down from an upper level construct like the netdevice can't
> > > > work reliably. You'll need to explicitly provide the dma_device
> > > > using either a method or a pointer to it instead of this guesswork.
> > >
> > > Yeah, I'm pretty sure we'll end up with a method in queue ops.
> > > But it's not that deep, an easy thing to change.
> >
> > Why not get this right now instead of adding more of the hacky parent
> > walking?
> The previous RFC version (v1) [1], the driver was explicitly providing dma_dev
> at device level.
> Queue level is even better; it will address the Netdev with two pci devs socket direct use case too.
Yup. This was the second more generic proposal in the RFC [1].
> Not sure how difficult it is.
>
> Dragos can you please evaluate?
>
It is not difficult. But some changes are required in
net_devmem_bind_dmabuf() and its callers.
Will send a v3 with the changes.
> I believe the dma_mask check in [1] should be removed regardless.
>
> [1] https://lore.kernel.org/netdev/20250702172433.1738947-2-dtatulea@nvidia.com/
Why is that? What if the parent device really doesn't support DMA?
[1] https://lore.kernel.org/netdev/22kf5wtxym5x3zllar7ek3onkav6nfzclf7w2lzifhebjme4jb@h4qycdqmwern/
Thanks,
Dragos
Powered by blists - more mailing lists