@@ -238,9 +238,10 @@ static int rxe_qp_init_req(struct rxe_dev *rxe, struct rxe_qp *qp,
skb_queue_head_init(&qp->req_pkts);
- rxe_init_task(&qp->req.task, qp, rxe_requester, RXE_TASK_TYPE_TASKLET);
+ rxe_init_task(&qp->req.task, qp, rxe_requester,
+ RXE_TASK_TYPE_WORKQUEUE);
rxe_init_task(&qp->comp.task, qp, rxe_completer,
- (qp_type(qp) == IB_QPT_RC) ? RXE_TASK_TYPE_TASKLET :
+ (qp_type(qp) == IB_QPT_RC) ? RXE_TASK_TYPE_WORKQUEUE :
RXE_TASK_TYPE_INLINE);
qp->qp_timeout_jiffies = 0; /* Can't be set for UD/UC in modify_qp */
@@ -288,7 +289,8 @@ static int rxe_qp_init_resp(struct rxe_dev *rxe, struct rxe_qp *qp,
skb_queue_head_init(&qp->resp_pkts);
- rxe_init_task(&qp->resp.task, qp, rxe_responder, RXE_TASK_TYPE_TASKLET);
+ rxe_init_task(&qp->resp.task, qp, rxe_responder,
+ RXE_TASK_TYPE_WORKQUEUE);
qp->resp.opcode = OPCODE_NONE;
qp->resp.msn = 0;
Change RXE_TASK_TYPE_TASKLET to RXE_TASK_TYPE_WORKQUEUE in rxe_qp.c. This makes work queues the default for tasks except for UD completion tasks. Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com> --- drivers/infiniband/sw/rxe/rxe_qp.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)