aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJason Gunthorpe <jgg@mellanox.com>2019-07-31 11:18:41 +0300
committerDoug Ledford <dledford@redhat.com>2019-08-01 11:44:48 -0400
commit9cd5881719e9555cae300ec8b389eda3c8101339 (patch)
treecace05458bf51c0903ecaddede02f995f5df4261 /include
parentRDMA/devices: Do not deadlock during client removal (diff)
downloadlinux-dev-9cd5881719e9555cae300ec8b389eda3c8101339.tar.xz
linux-dev-9cd5881719e9555cae300ec8b389eda3c8101339.zip
RDMA/devices: Remove the lock around remove_client_context
Due to the complexity of client->remove() callbacks it is desirable to not hold any locks while calling them. Remove the last one by tracking only the highest client ID and running backwards from there over the xarray. Since the only purpose of that lock was to protect the linked list, we can drop the lock. Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Link: https://lore.kernel.org/r/20190731081841.32345-3-leon@kernel.org Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/rdma/ib_verbs.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 7b80ec822043..4f225175cb91 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -2650,7 +2650,6 @@ struct ib_client {
refcount_t uses;
struct completion uses_zero;
- struct list_head list;
u32 client_id;
/* kverbs are not required by the client */