RDMA/nes: Remove useless usecnt variable and redundant memset
The internal design of RDMA/core ensures that there dealloc ucontext will be called only if alloc_ucontext succeeded, hence there is no need to manage internal variable to mark validity of ucontext. As part of this change, remove redundant memeset too. Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
e50838c27f
commit
be56b07b4f
@ -536,7 +536,7 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
|
|||||||
struct nes_device *nesdev = nesvnic->nesdev;
|
struct nes_device *nesdev = nesvnic->nesdev;
|
||||||
struct nes_adapter *nesadapter = nesdev->nesadapter;
|
struct nes_adapter *nesadapter = nesdev->nesadapter;
|
||||||
struct nes_alloc_ucontext_req req;
|
struct nes_alloc_ucontext_req req;
|
||||||
struct nes_alloc_ucontext_resp uresp;
|
struct nes_alloc_ucontext_resp uresp = {};
|
||||||
struct nes_ucontext *nes_ucontext;
|
struct nes_ucontext *nes_ucontext;
|
||||||
struct nes_ib_device *nesibdev = nesvnic->nesibdev;
|
struct nes_ib_device *nesibdev = nesvnic->nesibdev;
|
||||||
|
|
||||||
@ -553,8 +553,6 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
memset(&uresp, 0, sizeof uresp);
|
|
||||||
|
|
||||||
uresp.max_qps = nesibdev->max_qp;
|
uresp.max_qps = nesibdev->max_qp;
|
||||||
uresp.max_pds = nesibdev->max_pd;
|
uresp.max_pds = nesibdev->max_pd;
|
||||||
uresp.wq_size = nesdev->nesadapter->max_qp_wr * 2;
|
uresp.wq_size = nesdev->nesadapter->max_qp_wr * 2;
|
||||||
@ -579,7 +577,6 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
|
|||||||
|
|
||||||
INIT_LIST_HEAD(&nes_ucontext->cq_reg_mem_list);
|
INIT_LIST_HEAD(&nes_ucontext->cq_reg_mem_list);
|
||||||
INIT_LIST_HEAD(&nes_ucontext->qp_reg_mem_list);
|
INIT_LIST_HEAD(&nes_ucontext->qp_reg_mem_list);
|
||||||
atomic_set(&nes_ucontext->usecnt, 1);
|
|
||||||
return &nes_ucontext->ibucontext;
|
return &nes_ucontext->ibucontext;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -589,12 +586,8 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
|
|||||||
*/
|
*/
|
||||||
static int nes_dealloc_ucontext(struct ib_ucontext *context)
|
static int nes_dealloc_ucontext(struct ib_ucontext *context)
|
||||||
{
|
{
|
||||||
/* struct nes_vnic *nesvnic = to_nesvnic(context->device); */
|
|
||||||
/* struct nes_device *nesdev = nesvnic->nesdev; */
|
|
||||||
struct nes_ucontext *nes_ucontext = to_nesucontext(context);
|
struct nes_ucontext *nes_ucontext = to_nesucontext(context);
|
||||||
|
|
||||||
if (!atomic_dec_and_test(&nes_ucontext->usecnt))
|
|
||||||
return 0;
|
|
||||||
kfree(nes_ucontext);
|
kfree(nes_ucontext);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,6 @@ struct nes_ucontext {
|
|||||||
struct list_head cq_reg_mem_list;
|
struct list_head cq_reg_mem_list;
|
||||||
struct list_head qp_reg_mem_list;
|
struct list_head qp_reg_mem_list;
|
||||||
u32 mcrqf;
|
u32 mcrqf;
|
||||||
atomic_t usecnt;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct nes_pd {
|
struct nes_pd {
|
||||||
|
Loading…
Reference in New Issue
Block a user