IB/uverbs: Allow uobject allocation to work concurrently with disassociate
authorJason Gunthorpe <jgg@mellanox.com>
Thu, 26 Jul 2018 03:40:15 +0000 (21:40 -0600)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 1 Aug 2018 20:55:48 +0000 (14:55 -0600)
commit1e857e65d4bb76738d3fb3b15ce9b73a0ce550f8
treed82f7b3c66e440bdda84231c3781356869ad9a33
parent7452a3c745a2e7eb70d09dc5bb870759b1f26c91
IB/uverbs: Allow uobject allocation to work concurrently with disassociate

After all the recent structural changes this is now straightforward, hold
the hw_destroy_rwsem across the entire uobject creation. We already take
this semaphore on the success path, so holding it a bit longer is not
going to change the performance.

After this change none of the create callbacks require the
disassociate_srcu lock to be correct.

Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/core/rdma_core.c