On Thu, Dec 19, 2019 at 03:47:50PM +0200, Leon Romanovsky wrote: > From: Danit Goldberg <danitg@xxxxxxxxxxxx> > > 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 cm_id_priv xa_load. > > In addition, deletes cm_get_id function and use cm_acquire_id directly > with the correct locking. The patch also removes an open coded version > of cm_get_id, and replaces it with a call to cm_acquire_id. > > Signed-off-by: Danit Goldberg <danitg@xxxxxxxxxxxx> > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > --- > drivers/infiniband/core/cm.c | 43 +++++++++++------------------------- > 1 file changed, 13 insertions(+), 30 deletions(-) Applied to for-next, thanks Jason