linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH rdma-next 00/18] Refactor mlx5_ib_create_qp (Part I)
@ 2020-04-20 15:10 Leon Romanovsky
  2020-04-24 19:54 ` Jason Gunthorpe
  0 siblings, 1 reply; 3+ messages in thread
From: Leon Romanovsky @ 2020-04-20 15:10 UTC (permalink / raw)
  To: Doug Ledford, Jason Gunthorpe
  Cc: Leon Romanovsky, linux-kernel, linux-rdma, Maor Gottlieb

From: Leon Romanovsky <leonro@mellanox.com>

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@kernel.org

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

 drivers/infiniband/hw/mlx5/devx.c    |   2 +-
 drivers/infiniband/hw/mlx5/flow.c    |   2 +-
 drivers/infiniband/hw/mlx5/gsi.c     |  10 -
 drivers/infiniband/hw/mlx5/main.c    |   9 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h |  24 +-
 drivers/infiniband/hw/mlx5/odp.c     |   2 +-
 drivers/infiniband/hw/mlx5/qp.c      | 928 +++++++++++++--------------
 7 files changed, 467 insertions(+), 510 deletions(-)

--
2.25.2


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH rdma-next 00/18] Refactor mlx5_ib_create_qp (Part I)
  2020-04-20 15:10 [PATCH rdma-next 00/18] Refactor mlx5_ib_create_qp (Part I) Leon Romanovsky
@ 2020-04-24 19:54 ` Jason Gunthorpe
  2020-04-24 20:26   ` Leon Romanovsky
  0 siblings, 1 reply; 3+ messages in thread
From: Jason Gunthorpe @ 2020-04-24 19:54 UTC (permalink / raw)
  To: Leon Romanovsky
  Cc: Doug Ledford, Leon Romanovsky, linux-kernel, linux-rdma, Maor Gottlieb

On Mon, Apr 20, 2020 at 06:10:47PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@mellanox.com>
> 
> 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@kernel.org
> 
> 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?

Jason

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH rdma-next 00/18] Refactor mlx5_ib_create_qp (Part I)
  2020-04-24 19:54 ` Jason Gunthorpe
@ 2020-04-24 20:26   ` Leon Romanovsky
  0 siblings, 0 replies; 3+ messages in thread
From: Leon Romanovsky @ 2020-04-24 20:26 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: Doug Ledford, linux-kernel, linux-rdma, Maor Gottlieb

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@mellanox.com>
> >
> > 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@kernel.org
> >
> > 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-04-24 20:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-20 15:10 [PATCH rdma-next 00/18] Refactor mlx5_ib_create_qp (Part I) Leon Romanovsky
2020-04-24 19:54 ` Jason Gunthorpe
2020-04-24 20:26   ` Leon Romanovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).