Re: [PATCH rdma-next 00/18] Refactor mlx5_ib_create_qp (Part I)

From: Leon Romanovsky
Date: Fri Apr 24 2020 - 16:26:40 EST


On Fri, Apr 24, 2020 at 04:54:26PM -0300, Jason Gunthorpe wrote:
> On Mon, Apr 20, 2020 at 06:10:47PM +0300, Leon Romanovsky wrote:
> > From: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> >
> > Hi,
> >
> > This is first part of series which tries to return some sanity
> > to mlx5_ib_create_qp() function. Such refactoring is required
> > to make extension of that function with less worries of breaking
> > driver.
> >
> > Extra goal of such refactoring is to ensure that QP is allocated
> > at the beginning of function and released at the end. It will allow
> > us to move QP allocation to be under IB/core responsibility.
> >
> > It is based on previously sent [1] "[PATCH mlx5-next 00/24] Mass
> > conversion to light mlx5 command interface"
> >
> > Thanks
> >
> > [1] https://lore.kernel.org/linux-rdma/20200420114136.264924-1-leon@xxxxxxxxxx
> >
> > Leon Romanovsky (18):
> > RDMA/mlx5: Organize QP types checks in one place
> > RDMA/mlx5: Delete impossible GSI port check
> > RDMA/mlx5: Perform check if QP creation flow is valid
> > RDMA/mlx5: Prepare QP allocation for future removal
> > RDMA/mlx5: Avoid setting redundant NULL for XRC QPs
> > RDMA/mlx5: Set QP subtype immediately when it is known
> > RDMA/mlx5: Separate create QP flows to be based on type
> > RDMA/mlx5: Split scatter CQE configuration for DCT QP
> > RDMA/mlx5: Update all DRIVER QP places to use QP subtype
> > RDMA/mlx5: Move DRIVER QP flags check into separate function
> > RDMA/mlx5: Remove second copy from user for non RSS RAW QPs
> > RDMA/mlx5: Initial separation of RAW_PACKET QP from common flow
> > RDMA/mlx5: Delete create QP flags obfuscation
> > RDMA/mlx5: Process create QP flags in one place
> > RDMA/mlx5: Use flags_en mechanism to mark QP created with WQE
> > signature
> > RDMA/mlx5: Change scatter CQE flag to be set like other vendor flags
> > RDMA/mlx5: Return all configured create flags through query QP
> > RDMA/mlx5: Process all vendor flags in one place
>
> This seems reasonable, can you send it so it applies without other
> series?

Maybe it is doable, but part II needs [1] as pre-requirement.
Do you anyway prefer me to do it?

Thanks

>
> Jason