Thread (7 messages) 7 messages, 4 authors, 2025-07-21

Re: [PATCH v2 net-next] net: Allow SF devices to be used for ZC DMA

From: Dragos Tatulea <dtatulea@nvidia.com>
Date: 2025-07-21 07:00:17
Also in: io-uring, lkml

On Wed, Jul 16, 2025 at 01:23:13PM +0200, Parav Pandit wrote:
quoted
From: Christoph Hellwig <hch@infradead.org>
Sent: 16 July 2025 04:44 PM

On Tue, Jul 15, 2025 at 06:06:49AM -0700, Jakub Kicinski wrote:
quoted
On Mon, 14 Jul 2025 21:39:30 -0700 Christoph Hellwig wrote:
quoted
quoted
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/ (local)
Why is that? What if the parent device really doesn't support DMA?

[1] https://lore.kernel.org/netdev/22kf5wtxym5x3zllar7ek3onkav6nfzclf7w2lzifhebjme4jb@h4qycdqmwern/ (local)

Thanks,
Dragos
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help