[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250702172433.1738947-1-dtatulea@nvidia.com>
Date: Wed, 2 Jul 2025 20:24:22 +0300
From: Dragos Tatulea <dtatulea@...dia.com>
To: <almasrymina@...gle.com>, <asml.silence@...il.com>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski
<kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Simon Horman
<horms@...nel.org>, Andrew Lunn <andrew+netdev@...n.ch>, Jens Axboe
<axboe@...nel.dk>, Saeed Mahameed <saeedm@...dia.com>, Tariq Toukan
<tariqt@...dia.com>, Leon Romanovsky <leon@...nel.org>
CC: Dragos Tatulea <dtatulea@...dia.com>, <cratiu@...dia.com>,
<netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<io-uring@...r.kernel.org>, <linux-rdma@...r.kernel.org>
Subject: [RFC net-next 0/4] devmem/io_uring: Allow devices without parent PCI device
The io_uring and devmem code is assuming that the parent device of the
netdev is a DMA capable device. This is not always the case.
Some devices do have a DMA capable device that can be used, but not as
parent: mlx5 SFs have an auxdev as parent, but they do have an
associated PCI device.
Also, if DMA is not supported the operation should be blocked. Otherwise
the mapping will return success with 0 mapped entries and the caller
will consider the mapping as succesful.
This RFC is supposed to start the discussion on the best way to:
- Block the binding operation early if not supported.
- Allow devices that support this usecase but don't have a
parent device as a PCI device.
Dragos Tatulea (4):
net: Allow non parent devices to be used for ZC DMA
io_uring/zcrx: Use the new netdev_get_dma_dev() API
net: devmem: Use the new netdev_get_dma_dev() API
net/mlx5e: Enable HDS zerocopy flows for SFs
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 3 +++
include/linux/netdevice.h | 13 +++++++++++++
io_uring/zcrx.c | 2 +-
net/core/devmem.c | 10 +++++++++-
4 files changed, 26 insertions(+), 2 deletions(-)
--
2.50.0
Powered by blists - more mailing lists