aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/restrack.c
diff options
context:
space:
mode:
authorLeon Romanovsky <leonro@mellanox.com>2018-10-02 11:48:02 +0300
committerJason Gunthorpe <jgg@mellanox.com>2018-10-05 16:07:39 -0600
commit2165fc264079ecb7fbfa5e8b330a92eb3f0fcbe1 (patch)
tree3363cce91e6438d83b44de997486e5ea6dda8a79 /drivers/infiniband/core/restrack.c
parentRDMA/restrack: Un-inline set task implementation (diff)
downloadlinux-dev-2165fc264079ecb7fbfa5e8b330a92eb3f0fcbe1.tar.xz
linux-dev-2165fc264079ecb7fbfa5e8b330a92eb3f0fcbe1.zip
RDMA/restrack: Consolidate task name updates in one place
Unify task update and kernel name set in one place. Reviewed-by: Artemy Kovalyov <artemyko@mellanox.com> Reviewed-by: Yossi Itigin <yosefe@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Reviewed-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband/core/restrack.c')
-rw-r--r--drivers/infiniband/core/restrack.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/infiniband/core/restrack.c b/drivers/infiniband/core/restrack.c
index b02d43988e16..035af568ba64 100644
--- a/drivers/infiniband/core/restrack.c
+++ b/drivers/infiniband/core/restrack.c
@@ -156,12 +156,17 @@ static bool res_is_user(struct rdma_restrack_entry *res)
}
void rdma_restrack_set_task(struct rdma_restrack_entry *res,
- struct task_struct *task)
+ const char *caller)
{
+ if (caller) {
+ res->kern_name = caller;
+ return;
+ }
+
if (res->task)
put_task_struct(res->task);
- get_task_struct(task);
- res->task = task;
+ get_task_struct(current);
+ res->task = current;
}
EXPORT_SYMBOL(rdma_restrack_set_task);
@@ -177,7 +182,7 @@ void rdma_restrack_add(struct rdma_restrack_entry *res)
if (res_is_user(res)) {
if (!res->task)
- rdma_restrack_set_task(res, current);
+ rdma_restrack_set_task(res, NULL);
res->kern_name = NULL;
} else {
set_kern_name(res);