diff options
author | Jason Gunthorpe <jgg@mellanox.com> | 2019-07-31 11:18:41 +0300 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2019-08-01 11:44:48 -0400 |
commit | 9cd5881719e9555cae300ec8b389eda3c8101339 (patch) | |
tree | cace05458bf51c0903ecaddede02f995f5df4261 /include/rdma | |
parent | 621e55ff5b8e0ab5d1063f0eae0ef3960bef8f6e (diff) |
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/rdma')
-rw-r--r-- | include/rdma/ib_verbs.h | 1 |
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 */ |