[for-next PATCH 0/5] iova_to_vaddr refactor

From: Li Zhijian
Date: Thu Nov 10 2022 - 23:30:55 EST


Background:
iova_to_addr just lookups at the map which is constructed and manages the
relationship between iova to vaddr when MR is registering. By conventional,
we should map the userspace address(iova) every time we want to access it.
Please refer to the previous discussion[1][2] for more details.

Refactor:
In this refactoring, we will do the map every time before the user really
accesses it.

patch1,3,5 are cleanup and preparation.
patch2 is to make all subroutines accessing the iova use iova_to_vaddr() API.
patch4 is the refactor.

[1]: https://www.spinics.net/lists/linux-rdma/msg113206.html
[2]: https://lore.kernel.org/all/20220118123505.GF84788@xxxxxxxxxx/

Li Zhijian (5):
RDMA/rxe: Remove rxe_phys_buf.size
RDMA/rxe: use iova_to_vaddr to transform iova for rxe_mr_copy
RDMA/rxe: iova_to_vaddr cleanup
RDMA/rxe: refactor iova_to_vaddr
RDMA/rxe: Rename iova_to_vaddr to rxe_map_iova

drivers/infiniband/sw/rxe/rxe_loc.h | 3 +-
drivers/infiniband/sw/rxe/rxe_mr.c | 128 +++++++++++---------------
drivers/infiniband/sw/rxe/rxe_resp.c | 5 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 1 -
drivers/infiniband/sw/rxe/rxe_verbs.h | 6 +-
5 files changed, 62 insertions(+), 81 deletions(-)

--
2.31.1