On 23/08/2022 03:06, Bob Pearson wrote: > On 8/21/22 20:16, yanjun.zhu@xxxxxxxxx wrote: >> From: Zhu Yanjun <yanjun.zhu@xxxxxxxxx> >> >> The member variable obj in struct rxe_task is not needed. >> So remove it to save memory. >> >> Signed-off-by: Zhu Yanjun <yanjun.zhu@xxxxxxxxx> Reviewed-by: Li Zhijian <lizhijian@xxxxxxxxxxx> >> --- >> drivers/infiniband/sw/rxe/rxe_qp.c | 6 +++--- >> drivers/infiniband/sw/rxe/rxe_task.c | 3 +-- >> drivers/infiniband/sw/rxe/rxe_task.h | 3 +-- >> 3 files changed, 5 insertions(+), 7 deletions(-) >> >> diff --git a/drivers/infiniband/sw/rxe/rxe_qp.c b/drivers/infiniband/sw/rxe/rxe_qp.c >> index b229052ae91a..ee4f7a4a7e01 100644 >> --- a/drivers/infiniband/sw/rxe/rxe_qp.c >> +++ b/drivers/infiniband/sw/rxe/rxe_qp.c >> @@ -242,9 +242,9 @@ static int rxe_qp_init_req(struct rxe_dev *rxe, struct rxe_qp *qp, >> >> skb_queue_head_init(&qp->req_pkts); >> >> - rxe_init_task(rxe, &qp->req.task, qp, >> + rxe_init_task(&qp->req.task, qp, >> rxe_requester, "req"); >> - rxe_init_task(rxe, &qp->comp.task, qp, >> + rxe_init_task(&qp->comp.task, qp, >> rxe_completer, "comp"); >> >> qp->qp_timeout_jiffies = 0; /* Can't be set for UD/UC in modify_qp */ >> @@ -292,7 +292,7 @@ static int rxe_qp_init_resp(struct rxe_dev *rxe, struct rxe_qp *qp, >> >> skb_queue_head_init(&qp->resp_pkts); >> >> - rxe_init_task(rxe, &qp->resp.task, qp, >> + rxe_init_task(&qp->resp.task, qp, >> rxe_responder, "resp"); >> >> qp->resp.opcode = OPCODE_NONE; >> diff --git a/drivers/infiniband/sw/rxe/rxe_task.c b/drivers/infiniband/sw/rxe/rxe_task.c >> index 2248cf33d776..ec2b7de1c497 100644 >> --- a/drivers/infiniband/sw/rxe/rxe_task.c >> +++ b/drivers/infiniband/sw/rxe/rxe_task.c >> @@ -94,10 +94,9 @@ void rxe_do_task(struct tasklet_struct *t) >> task->ret = ret; >> } >> >> -int rxe_init_task(void *obj, struct rxe_task *task, >> +int rxe_init_task(struct rxe_task *task, >> void *arg, int (*func)(void *), char *name) >> { >> - task->obj = obj; >> task->arg = arg; >> task->func = func; >> snprintf(task->name, sizeof(task->name), "%s", name); >> diff --git a/drivers/infiniband/sw/rxe/rxe_task.h b/drivers/infiniband/sw/rxe/rxe_task.h >> index 11d183fd3338..7f612a1c68a7 100644 >> --- a/drivers/infiniband/sw/rxe/rxe_task.h >> +++ b/drivers/infiniband/sw/rxe/rxe_task.h >> @@ -19,7 +19,6 @@ enum { >> * called again. >> */ >> struct rxe_task { >> - void *obj; >> struct tasklet_struct tasklet; >> int state; >> spinlock_t state_lock; /* spinlock for task state */ >> @@ -35,7 +34,7 @@ struct rxe_task { >> * arg => parameter to pass to fcn >> * func => function to call until it returns != 0 >> */ >> -int rxe_init_task(void *obj, struct rxe_task *task, >> +int rxe_init_task(struct rxe_task *task, >> void *arg, int (*func)(void *), char *name); >> >> /* cleanup task */ > Looks OK to me. Not sure why that was ever there. > > Reviewed-by: Bob Pearson <rpearsonhpe@xxxxxxxxx>