With emulated device we have the luxury of doing things in data-path. Considering a future virtio-rdma device we no longer have this luxury. The driver will directly post WQEs to HW queues, bypassing the device emulator in qemu. These WQEs will consist of addresses known to the device (even if it is guest addresses) and ID of an HW memory region (mr).
Commit 68b89aee71 ("Utilize ibv_reg_mr_iova for memory registration") did the first important step of utilizing a new rdma API so addresses translation is no longer needed. This patch-set continues and remove entirely the processing in data-path by eliminating the need to translate emulated mr_id to backend device mr_id. Yuval Shaia (2): hw/rdma: Cosmetic change - no need for two sge arrays hw/rdma: Skip data-path mr_id translation hw/rdma/rdma_backend.c | 61 +++++++++++++++++++++--------------------- hw/rdma/rdma_backend.h | 5 ---- hw/rdma/rdma_rm.c | 13 +++++---- 3 files changed, 36 insertions(+), 43 deletions(-) -- 2.20.1