linux_dsm_epyc7002/drivers/infiniband
Danit Goldberg 4d6e8a033f RDMA/cm: Use RCU synchronization mechanism to protect cm_id_private xa_load()
The RCU mechanism is optimized for read-mostly scenarios and therefore
more suitable to protect the cm_id_private to decrease "cm.lock"
congestion.

This patch replaces the existing spinlock locking mechanism and kfree with
RCU mechanism in places where spinlock(cm.lock) protected xa_load
returning the cm_id_priv

In addition, delete the cm_get_id() function as there is no longer a
distinction if the caller already holds the cm_lock.

Remove an open coded version of cm_get_id().

Link: https://lore.kernel.org/r/20191219134750.413429-1-leon@kernel.org
Signed-off-by: Danit Goldberg <danitg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2020-01-03 16:29:44 -04:00
..
core RDMA/cm: Use RCU synchronization mechanism to protect cm_id_private xa_load() 2020-01-03 16:29:44 -04:00
hw IB/mlx5: Fix outstanding_pi index for GSI qps 2020-01-03 15:56:41 -04:00
sw RDMA/siw: Simplify QP representation 2020-01-03 15:54:09 -04:00
ulp RDMA/srpt: Remove unnecessary assertion in srpt_queue_response 2020-01-03 16:11:47 -04:00
Kconfig RDMA/iw_cxgb3: Remove the iw_cxgb3 module from kernel 2019-10-04 15:08:59 -03:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00