Message ID | 20220822011615.805603-4-yanjun.zhu@linux.dev (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | Fixes for syzbot problem | expand |
On 8/21/22 20:16, yanjun.zhu@linux.dev wrote: > From: Zhu Yanjun <yanjun.zhu@linux.dev> > > The member variable obj in struct rxe_task is not needed. > So remove it to save memory. > > Signed-off-by: Zhu Yanjun <yanjun.zhu@linux.dev> > --- > 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@gmail.com>
On 23/08/2022 03:06, Bob Pearson wrote: > On 8/21/22 20:16, yanjun.zhu@linux.dev wrote: >> From: Zhu Yanjun <yanjun.zhu@linux.dev> >> >> The member variable obj in struct rxe_task is not needed. >> So remove it to save memory. >> >> Signed-off-by: Zhu Yanjun <yanjun.zhu@linux.dev> Reviewed-by: Li Zhijian <lizhijian@fujitsu.com> >> --- >> 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@gmail.com>
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 */