hw/rdma: Delete useless structure RdmaRmUserMR

The structure RdmaRmUserMR has no benefits, remove it an move all its
fields to struct RdmaRmMR.

Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
Message-Id: <20180805153518.2983-7-yuval.shaia@oracle.com>
Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
This commit is contained in:
Yuval Shaia 2018-08-05 18:35:11 +03:00 committed by Marcel Apfelbaum
parent 6e7dba23af
commit 7f99daadbd
3 changed files with 12 additions and 17 deletions

View File

@ -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);

View File

@ -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);
}
}

View File

@ -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;