diff options
| author | Chuck Lever <chuck.lever@oracle.com> | 2026-01-27 19:53:56 -0500 |
|---|---|---|
| committer | Leon Romanovsky <leon@kernel.org> | 2026-01-28 05:54:53 -0500 |
| commit | 5e541553588d493bd9317bc8a8c1ab85cbddc2c5 (patch) | |
| tree | 13c58634c3c20ec64d2e84eac4968762b67730f5 /rust/alloc/collections/git@git.tavy.me:linux.git | |
| parent | 959d2c356e32abde9c5b95c7e83236cded94251a (diff) | |
RDMA/core: add bio_vec based RDMA read/write API
The existing rdma_rw_ctx_init() API requires callers to construct a
scatterlist, which is then DMA-mapped page by page. Callers that
already have data in bio_vec form (such as the NVMe-oF target) must
first convert to scatterlist, adding overhead and complexity.
Introduce rdma_rw_ctx_init_bvec() and rdma_rw_ctx_destroy_bvec() to
accept bio_vec arrays directly. The new helpers use dma_map_phys()
for hardware RDMA devices and virtual addressing for software RDMA
devices (rxe, siw), avoiding intermediate scatterlist construction.
Memory registration (MR) path support is deferred to a follow-up
series; callers requiring MR-based transfers (iWARP devices or
force_mr=1) receive -EOPNOTSUPP and should use the scatterlist API.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Link: https://patch.msgid.link/20260128005400.25147-2-cel@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to 'rust/alloc/collections/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions
