mbox series

[for-next,v11,00/11] Move two object pools to rxe_mcast.c

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

Message

Bob Pearson Feb. 8, 2022, 9:16 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.

This patch series applies cleanly to current for-next.
commit 0d9c00117b8a57a361b27f7bd94284c94155f039 (for-next)

Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
---
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 (11):
  RDMA/rxe: Move mcg_lock to rxe
  RDMA/rxe: Use kzmalloc/kfree for mca
  RDMA/rxe: Replace grp by mcg, mce by mca
  RDMA/rxe: Replace int num_qp by atomic_t qp_num
  RDMA/rxe: Replace pool key by rxe->mcg_tree
  RDMA/rxe: Remove key'ed object support
  RDMA/rxe: Remove mcg from rxe pools
  RDMA/rxe: Add code to cleanup mcast memory
  RDMA/rxe: Finish cleanup of 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       |  22 +-
 drivers/infiniband/sw/rxe/rxe_loc.h   |   4 +-
 drivers/infiniband/sw/rxe/rxe_mcast.c | 713 +++++++++++++++++++-------
 drivers/infiniband/sw/rxe/rxe_pool.c  | 137 -----
 drivers/infiniband/sw/rxe/rxe_pool.h  |  42 +-
 drivers/infiniband/sw/rxe/rxe_recv.c  | 113 ++--
 drivers/infiniband/sw/rxe/rxe_verbs.h |  16 +-
 7 files changed, 612 insertions(+), 435 deletions(-)
 rewrite drivers/infiniband/sw/rxe/rxe_mcast.c (67%)

Comments

Jason Gunthorpe Feb. 11, 2022, 8:04 p.m. UTC | #1
On Tue, Feb 08, 2022 at 03:16:34PM -0600, Bob Pearson wrote:
> Bob Pearson (11):
>   RDMA/rxe: Move mcg_lock to rxe
>   RDMA/rxe: Use kzmalloc/kfree for mca
>   RDMA/rxe: Replace grp by mcg, mce by mca
>   RDMA/rxe: Replace int num_qp by atomic_t qp_num
>   RDMA/rxe: Replace pool key by rxe->mcg_tree
>   RDMA/rxe: Remove key'ed object support
>   RDMA/rxe: Remove mcg from rxe pools

I took these ones, thanks

Lets keep looking at the other ones

Jason