RDMA FLUSH[1] and ATOMIC WRITE[2] were added to rxe, but they cannot run in the ODP mode as of now. This series is for the kernel-side enablement. There are also minor changes in libibverbs and pyverbs. The rdma-core tests are also added so that people can test the features. PR: https://github.com/linux-rdma/rdma-core/pull/1580 You can try the patches with the tree below: https://github.com/ddmatsu/linux/tree/odp-extension2 Note that the tree is a bit old (6.13-rc1), because there was an issue[3] in the for-next tree that disabled ibv_query_device_ex(), which is used to query ODP capabilities. However, there is already a fix[4], and it is to be resolved in the next release. I will update the tree once it is ready. [1] [for-next PATCH 00/10] RDMA/rxe: Add RDMA FLUSH operation https://lore.kernel.org/lkml/20221206130201.30986-1-lizhijian@xxxxxxxxxxx/ [2] [PATCH v7 0/8] RDMA/rxe: Add atomic write operation https://lore.kernel.org/linux-rdma/1669905432-14-1-git-send-email-yangx.jy@xxxxxxxxxxx/ [3] [bug report] RDMA/rxe: Failure of ibv_query_device() and ibv_query_device_ex() tests in rdma-core https://lore.kernel.org/all/1b9d6286-62fc-4b42-b304-0054c4ebee02@xxxxxxxxx/T/ [4] [PATCH rdma-rc 1/1] RDMA/rxe: Fix the failure of ibv_query_device() and ibv_query_device_ex() tests https://lore.kernel.org/linux-rdma/174102882930.42565.11864314726635251412.b4-ty@xxxxxxxxxx/T/#t History: v1->v2: Removed some code duplications Daisuke Matsuda (2): RDMA/rxe: Enable ODP in RDMA FLUSH operation RDMA/rxe: Enable ODP in ATOMIC WRITE operation drivers/infiniband/sw/rxe/rxe.c | 2 + drivers/infiniband/sw/rxe/rxe_loc.h | 12 +++ drivers/infiniband/sw/rxe/rxe_mr.c | 48 +++++------ drivers/infiniband/sw/rxe/rxe_odp.c | 115 ++++++++++++++++++++++++++- drivers/infiniband/sw/rxe/rxe_resp.c | 15 ++-- include/rdma/ib_verbs.h | 2 + 6 files changed, 161 insertions(+), 33 deletions(-) -- 2.43.0