mbox series

[for-next,v13,0/6] Move two object pools to rxe_mcast.c

Message ID 20220223230706.50332-1-rpearsonhpe@gmail.com (mailing list archive)
Headers show
Series Move two object pools to rxe_mcast.c | expand

Message

Bob Pearson Feb. 23, 2022, 11:07 p.m. UTC
This patch series completes the separation of the mc_grp and mc_elem
object pools from rxe_pools.c and moving of their code to rxe_mcast.c.
This makes sense because these two pools are different from the other
pools as the only ones that do not share objects with rdma-core and
that use key's instead of indices to enable looking up objects. This
change will enable a significant simplification of the normal object
pools.

Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
---
v13
  Addressed issues raised by Jason Gunthorpe
  Replaced rxe_mcast_cleanup() by a warning.
  Dropped _rcu from __rxe_init/cleanup_mca_rcu
  Restructured rxe_detach_mcg to simplify
v12
  Addressed issues raised by Jason Gunthorpe.
  Returned a warning if rdma-core fails to cleanup mcast memory.
  Split the 'cleanup patch' into more managable patches.
  Fixed an error in the rcu patch by moving the kfree and
  rxe_drop_ref(qp) to a call_rcu() routine.
v11
  Restructured the patch series to simplify it and make each patch
  simpler. Addressed some additional issues raised by Jason Gunthorpe
  in the review of that last version.
v10
  Corrected issues reported by Jason Gunthorpe
  Isolated patches 01-17 separate from the remaining patches.
  They will be submitted later
v9
  Corrected issues reported by Jason Gunthorpe,
  Converted locking in rxe_mcast.c and rxe_pool.c to use RCU
  Split up the patches into smaller changes
v8
  Fixed an additional race in 3/8 which was not handled correctly.
v7
  Corrected issues reported by Jason Gunthorpe
Link: https://lore.kernel.org/linux-rdma/20211207190947.GH6385@nvidia.com/
Link: https://lore.kernel.org/linux-rdma/20211207191857.GI6385@nvidia.com/
Link: https://lore.kernel.org/linux-rdma/20211207192824.GJ6385@nvidia.com/
v6
  Fixed a kzalloc flags bug.
  Fixed comment bug reported by 'Kernel Test Robot'.
  Changed type of rxe_pool.c in __rxe_fini().
v5
  Removed patches already accepted into for-next and addressed comments
  from Jason Gunthorpe.
v4
  Restructured patch series to change to xarray earlier which
  greatly simplified the changes.
  Rebased to current for-next
v3
  Changed rxe_alloc to use GFP_KERNEL
  Addressed other comments by Jason Gunthorp
  Merged the previous 06/10 and 07/10 patches into one since they overlapped
  Added some minor cleanups as 10/10
v2
  Rebased to current for-next.
  Added 4 additional patches

Bob Pearson (6):
  RDMA/rxe: Warn if mcast memory is not freed
  RDMA/rxe: Collect mca init code in a subroutine
  RDMA/rxe: Collect cleanup mca code in a subroutine
  RDMA/rxe: Cleanup rxe_mcast.c
  RDMA/rxe: For mcast copy qp list to temp array
  RDMA/rxe: Convert mca read locking to RCU

 drivers/infiniband/sw/rxe/rxe.c       |   2 +
 drivers/infiniband/sw/rxe/rxe_mcast.c | 237 ++++++++++++++++++++------
 drivers/infiniband/sw/rxe/rxe_recv.c  | 107 +++++++-----
 drivers/infiniband/sw/rxe/rxe_verbs.h |   4 +
 4 files changed, 256 insertions(+), 94 deletions(-)

Comments

Jason Gunthorpe Feb. 24, 2022, 12:32 a.m. UTC | #1
On Wed, Feb 23, 2022 at 05:07:01PM -0600, Bob Pearson wrote:

> Bob Pearson (6):
>   RDMA/rxe: Warn if mcast memory is not freed
>   RDMA/rxe: Collect mca init code in a subroutine
>   RDMA/rxe: Collect cleanup mca code in a subroutine
>   RDMA/rxe: Cleanup rxe_mcast.c

I took these to for-next

Thanks,
Jason