RDMA/core: Optimize XRC target lookup
authorMaor Gottlieb <maorg@mellanox.com>
Mon, 6 Jul 2020 12:27:16 +0000 (15:27 +0300)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 6 Jul 2020 22:32:23 +0000 (19:32 -0300)
commit6f3ca6f4f5e05b52bf6851ada21026faa106de76
tree721ee536ae5d41958bd28bc876ac20a752307945
parentb73efcb26e2c6d66797c57bed8df13c3718c58cb
RDMA/core: Optimize XRC target lookup

Replace the mutex with read write semaphore and use xarray instead of
linked list for XRC target QPs. This will give faster XRC target
lookup. In addition, when QP is closed, don't insert it back to the xarray
if the destroy command failed.

Link: https://lore.kernel.org/r/20200706122716.647338-4-leon@kernel.org
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/verbs.c
include/rdma/ib_verbs.h