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 <[email protected]>
Signed-off-by: Leon Romanovsky <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Doug Ledford <[email protected]>
This commit is contained in:
Jason Gunthorpe 2019-07-31 11:18:41 +03:00 • committed by Doug Ledford
commit 9cd5881719
2 changed files with 27 additions and 22 deletions

View file

@ -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 */