Message ID | 20180805153518.2983-7-yuval.shaia@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Misc fixes for pvrdma device | expand |
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
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;
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(-)