On 08/05/2018 06:35 PM, Yuval Shaia wrote:
> The structure RdmaRmUserMR has no benefits, remove it an move all its
> fields to struct RdmaRmMR.
>
> Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
> ---
> hw/rdma/rdma_backend.c | 3 +--
> hw/rdma/rdma_rm.c | 16 ++++++++--------
> hw/rdma/rdma_rm_defs.h | 10 +++-------
> 3 files changed, 12 insertions(+), 17 deletions(-)
>
> diff --git a/hw/rdma/rdma_backend.c b/hw/rdma/rdma_backend.c
> index 647e16399f..52981d652d 100644
> --- a/hw/rdma/rdma_backend.c
> +++ b/hw/rdma/rdma_backend.c
> @@ -271,8 +271,7 @@ static int build_host_sge_array(RdmaDeviceResources *rdma_dev_res,
> return VENDOR_ERR_INVLKEY | ssge[ssge_idx].lkey;
> }
>
> - dsge->addr = (uintptr_t)mr->user_mr.host_virt + ssge[ssge_idx].addr -
> - mr->user_mr.guest_start;
> + dsge->addr = (uintptr_t)mr->virt + ssge[ssge_idx].addr - mr->start;
> dsge->length = ssge[ssge_idx].length;
> dsge->lkey = rdma_backend_mr_lkey(&mr->backend_mr);
>
> diff --git a/hw/rdma/rdma_rm.c b/hw/rdma/rdma_rm.c
> index 415da15efe..7403d24674 100644
> --- a/hw/rdma/rdma_rm.c
> +++ b/hw/rdma/rdma_rm.c
> @@ -165,15 +165,15 @@ int rdma_rm_alloc_mr(RdmaDeviceResources *dev_res, uint32_t pd_handle,
> length = TARGET_PAGE_SIZE;
> addr = g_malloc(length);
> } else {
> - mr->user_mr.host_virt = host_virt;
> - pr_dbg("host_virt=0x%p\n", mr->user_mr.host_virt);
> - mr->user_mr.length = guest_length;
> + mr->virt = host_virt;
> + pr_dbg("host_virt=0x%p\n", mr->virt);
> + mr->length = guest_length;
> pr_dbg("length=%zu\n", guest_length);
> - mr->user_mr.guest_start = guest_start;
> - pr_dbg("guest_start=0x%" PRIx64 "\n", mr->user_mr.guest_start);
> + mr->start = guest_start;
> + pr_dbg("guest_start=0x%" PRIx64 "\n", mr->start);
>
> - length = mr->user_mr.length;
> - addr = mr->user_mr.host_virt;
> + length = mr->length;
> + addr = mr->virt;
> }
>
> ret = rdma_backend_create_mr(&mr->backend_mr, &pd->backend_pd, addr, length,
> @@ -214,7 +214,7 @@ void rdma_rm_dealloc_mr(RdmaDeviceResources *dev_res, uint32_t mr_handle)
>
> if (mr) {
> rdma_backend_destroy_mr(&mr->backend_mr);
> - munmap(mr->user_mr.host_virt, mr->user_mr.length);
> + munmap(mr->virt, mr->length);
> res_tbl_dealloc(&dev_res->mr_tbl, mr_handle);
> }
> }
> diff --git a/hw/rdma/rdma_rm_defs.h b/hw/rdma/rdma_rm_defs.h
> index 226011176d..7228151239 100644
> --- a/hw/rdma/rdma_rm_defs.h
> +++ b/hw/rdma/rdma_rm_defs.h
> @@ -55,16 +55,12 @@ typedef struct RdmaRmCQ {
> bool notify;
> } RdmaRmCQ;
>
> -typedef struct RdmaRmUserMR {
> - void *host_virt;
> - uint64_t guest_start;
> - size_t length;
> -} RdmaRmUserMR;
> -
> /* MR (DMA region) */
> typedef struct RdmaRmMR {
> RdmaBackendMR backend_mr;
> - RdmaRmUserMR user_mr;
> + void *virt;
> + uint64_t start;
> + size_t length;
> uint32_t pd_handle;
> uint32_t lkey;
> uint32_t rkey;
Reviewed-by: Marcel Apfelbaum<marcel.apfelbaum@gmail.com>
Thanks,
Marcel