summaryrefslogtreecommitdiff
path: root/drivers/infiniband/sw/rxe/rxe_task.c
diff options
context:
space:
mode:
authorBob Pearson <rpearsonhpe@gmail.com>2023-03-04 20:45:27 +0300
committerJason Gunthorpe <jgg@nvidia.com>2023-03-24 17:14:38 +0300
commit3946fc2a42b18cf0b675121158a2625825ce27b5 (patch)
tree0ee5448dcdb1ce1da42c625f02e8069e848dfcd9 /drivers/infiniband/sw/rxe/rxe_task.c
parent5bf944f24129cbc4b5828348bdce2db94ca9fbd6 (diff)
downloadlinux-3946fc2a42b18cf0b675121158a2625825ce27b5.tar.xz
RDMA/rxe: Convert tasklet args to queue pairs
Originally is was thought that the tasklet machinery in rxe_task.c would be used in other applications but that has not happened for years. This patch replaces the 'void *arg' by struct 'rxe_qp *qp' in the parameters to the tasklet calls. This change will have no affect on performance but may make the code a little clearer. Link: https://lore.kernel.org/r/20230304174533.11296-2-rpearsonhpe@gmail.com Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'drivers/infiniband/sw/rxe/rxe_task.c')
-rw-r--r--drivers/infiniband/sw/rxe/rxe_task.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/infiniband/sw/rxe/rxe_task.c b/drivers/infiniband/sw/rxe/rxe_task.c
index 60b90e33a884..959cc6229a34 100644
--- a/drivers/infiniband/sw/rxe/rxe_task.c
+++ b/drivers/infiniband/sw/rxe/rxe_task.c
@@ -11,7 +11,7 @@ int __rxe_do_task(struct rxe_task *task)
{
int ret;
- while ((ret = task->func(task->arg)) == 0)
+ while ((ret = task->func(task->qp)) == 0)
;
task->ret = ret;
@@ -29,7 +29,7 @@ static void do_task(struct tasklet_struct *t)
int cont;
int ret;
struct rxe_task *task = from_tasklet(task, t, tasklet);
- struct rxe_qp *qp = (struct rxe_qp *)task->arg;
+ struct rxe_qp *qp = (struct rxe_qp *)task->qp;
unsigned int iterations = RXE_MAX_ITERATIONS;
spin_lock_bh(&task->lock);
@@ -54,7 +54,7 @@ static void do_task(struct tasklet_struct *t)
do {
cont = 0;
- ret = task->func(task->arg);
+ ret = task->func(task->qp);
spin_lock_bh(&task->lock);
switch (task->state) {
@@ -91,9 +91,10 @@ static void do_task(struct tasklet_struct *t)
task->ret = ret;
}
-int rxe_init_task(struct rxe_task *task, void *arg, int (*func)(void *))
+int rxe_init_task(struct rxe_task *task, struct rxe_qp *qp,
+ int (*func)(struct rxe_qp *))
{
- task->arg = arg;
+ task->qp = qp;
task->func = func;
task->destroyed = false;