* [PATCH rdma-next 00/14] Cleanup locking and events in ucma
@ 2020-08-18 12:05 Leon Romanovsky
2020-08-27 11:39 ` Jason Gunthorpe
0 siblings, 1 reply; 2+ messages in thread
From: Leon Romanovsky @ 2020-08-18 12:05 UTC (permalink / raw)
To: Doug Ledford, Jason Gunthorpe
Cc: Leon Romanovsky, Leon Romanovsky, linux-kernel, linux-rdma,
Roland Dreier, Sean Hefty
From: Leon Romanovsky <leonro@nvidia.com>
From Jason:
Rework how the uevents for new connections are handled so all the locking
ends up simpler and a work queue can be removed. This should also speed up
destruction of ucma_context's as a flush_workqueue() was replaced with
cancel_work_sync().
The simpler locking comes from narrowing what file->mut covers and moving
other data to other locks, particularly by injecting the handler_mutex
from the RDMA CM core as a construct available to ULPs. The handler_mutex
directly prevents handlers from running without creating any ABBA locking
problems.
Fix various error cases and data races caused by missing locking.
Thanks
Jason Gunthorpe (14):
RDMA/ucma: Fix refcount 0 incr in ucma_get_ctx()
RDMA/ucma: Remove unnecessary locking of file->ctx_list in close
RDMA/ucma: Consolidate the two destroy flows
RDMA/ucma: Fix error cases around ucma_alloc_ctx()
RDMA/ucma: Remove mc_list and rely on xarray
RDMA/cma: Add missing locking to rdma_accept()
RDMA/ucma: Do not use file->mut to lock destroying
RDMA/ucma: Fix the locking of ctx->file
RDMA/ucma: Fix locking for ctx->events_reported
RDMA/ucma: Add missing locking around rdma_leave_multicast()
RDMA/ucma: Change backlog into an atomic
RDMA/ucma: Narrow file->mut in ucma_event_handler()
RDMA/ucma: Rework how new connections are passed through event
delivery
RDMA/ucma: Remove closing and the close_wq
drivers/infiniband/core/cma.c | 25 +-
drivers/infiniband/core/ucma.c | 444 +++++++++++++++------------------
include/rdma/rdma_cm.h | 5 +
3 files changed, 226 insertions(+), 248 deletions(-)
--
2.26.2
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH rdma-next 00/14] Cleanup locking and events in ucma
2020-08-18 12:05 [PATCH rdma-next 00/14] Cleanup locking and events in ucma Leon Romanovsky
@ 2020-08-27 11:39 ` Jason Gunthorpe
0 siblings, 0 replies; 2+ messages in thread
From: Jason Gunthorpe @ 2020-08-27 11:39 UTC (permalink / raw)
To: Leon Romanovsky
Cc: Doug Ledford, Leon Romanovsky, Leon Romanovsky, linux-kernel,
linux-rdma, Roland Dreier, Sean Hefty
On Tue, Aug 18, 2020 at 03:05:12PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@nvidia.com>
>
> >From Jason:
>
> Rework how the uevents for new connections are handled so all the locking
> ends up simpler and a work queue can be removed. This should also speed up
> destruction of ucma_context's as a flush_workqueue() was replaced with
> cancel_work_sync().
>
> The simpler locking comes from narrowing what file->mut covers and moving
> other data to other locks, particularly by injecting the handler_mutex
> from the RDMA CM core as a construct available to ULPs. The handler_mutex
> directly prevents handlers from running without creating any ABBA locking
> problems.
>
> Fix various error cases and data races caused by missing locking.
>
> Thanks
>
> Jason Gunthorpe (14):
> RDMA/ucma: Fix refcount 0 incr in ucma_get_ctx()
> RDMA/ucma: Remove unnecessary locking of file->ctx_list in close
> RDMA/ucma: Consolidate the two destroy flows
> RDMA/ucma: Fix error cases around ucma_alloc_ctx()
> RDMA/ucma: Remove mc_list and rely on xarray
> RDMA/cma: Add missing locking to rdma_accept()
> RDMA/ucma: Do not use file->mut to lock destroying
> RDMA/ucma: Fix the locking of ctx->file
> RDMA/ucma: Fix locking for ctx->events_reported
> RDMA/ucma: Add missing locking around rdma_leave_multicast()
> RDMA/ucma: Change backlog into an atomic
> RDMA/ucma: Narrow file->mut in ucma_event_handler()
> RDMA/ucma: Rework how new connections are passed through event
> delivery
> RDMA/ucma: Remove closing and the close_wq
Applied to for-next
Jason
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-08-27 15:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-18 12:05 [PATCH rdma-next 00/14] Cleanup locking and events in ucma Leon Romanovsky
2020-08-27 11:39 ` Jason Gunthorpe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox