mbox series

[mlx5-next,00/10] Collection of ODP fixes

Message ID 20181108191017.21891-1-leon@kernel.org (mailing list archive)
Headers show
Series Collection of ODP fixes | expand

Message

Leon Romanovsky Nov. 8, 2018, 7:10 p.m. UTC
From: Leon Romanovsky <leonro@mellanox.com>

Hi,

This is collection of fixes to mlx5_core and mlx5_ib ODP logic.
There are two main reasons why we decided to forward it to mlx5-next
and not to rdma-rc or net like our other fixes.

1. We have large number of patches exactly in that area that are ready
for submission and we don't want to create extra merge work for
maintainers due to that. Among those future series (already ready and
tested): internal change of mlx5_core pagefaults handling, moving ODP
code to RDMA, change in EQ mechanism, simplification and moving SRQ QP
to RDMA, extra fixes to mlx5_ib ODP and ODP SRQ support.

2. Most of those fixes are for old bugs and there is no rush to fix them
right now (in -rc1/-rc2).

Thanks

Moni Shoua (10):
  net/mlx5: Release resource on error flow
  IB/mlx5: Avoid hangs due to a missing completion
  net/mlx5: Add interface to hold and release core resources
  net/mlx5: Enumerate page fault types
  IB/mlx5: Lock QP during page fault handling
  net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state
  net/mlx5: Use multi threaded workqueue for page fault handling
  IB/mlx5: Call PAGE_FAULT_RESUME command asynchronously
  net/mlx5: Remove unused function
  IB/mlx5: Improve ODP debugging messages

 drivers/infiniband/core/umem_odp.c            |  14 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h          |   1 +
 drivers/infiniband/hw/mlx5/mr.c               |  15 +-
 drivers/infiniband/hw/mlx5/odp.c              | 158 ++++++++++++++----
 drivers/net/ethernet/mellanox/mlx5/core/cmd.c |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/eq.c  |  21 +--
 drivers/net/ethernet/mellanox/mlx5/core/qp.c  |  20 ++-
 include/linux/mlx5/device.h                   |   7 +
 include/linux/mlx5/driver.h                   |   7 +-
 include/linux/mlx5/qp.h                       |   5 +
 10 files changed, 191 insertions(+), 59 deletions(-)

--
2.19.1

Comments

Jason Gunthorpe Nov. 8, 2018, 7:45 p.m. UTC | #1
On Thu, Nov 08, 2018 at 09:10:07PM +0200, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@mellanox.com>
> 
> Hi,
> 
> This is collection of fixes to mlx5_core and mlx5_ib ODP logic.
> There are two main reasons why we decided to forward it to mlx5-next
> and not to rdma-rc or net like our other fixes.
> 
> 1. We have large number of patches exactly in that area that are ready
> for submission and we don't want to create extra merge work for
> maintainers due to that. Among those future series (already ready and
> tested): internal change of mlx5_core pagefaults handling, moving ODP
> code to RDMA, change in EQ mechanism, simplification and moving SRQ QP
> to RDMA, extra fixes to mlx5_ib ODP and ODP SRQ support.
> 
> 2. Most of those fixes are for old bugs and there is no rush to fix them
> right now (in -rc1/-rc2).
> 
> Thanks
> 
> Moni Shoua (10):
>   net/mlx5: Release resource on error flow
>   IB/mlx5: Avoid hangs due to a missing completion
>   net/mlx5: Add interface to hold and release core resources
>   net/mlx5: Enumerate page fault types
>   IB/mlx5: Lock QP during page fault handling
>   net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state
>   net/mlx5: Use multi threaded workqueue for page fault handling
>   IB/mlx5: Call PAGE_FAULT_RESUME command asynchronously
>   net/mlx5: Remove unused function
>   IB/mlx5: Improve ODP debugging messages
> 
>  drivers/infiniband/core/umem_odp.c            |  14 +-
>  drivers/infiniband/hw/mlx5/mlx5_ib.h          |   1 +
>  drivers/infiniband/hw/mlx5/mr.c               |  15 +-
>  drivers/infiniband/hw/mlx5/odp.c              | 158 ++++++++++++++----
>  drivers/net/ethernet/mellanox/mlx5/core/cmd.c |   2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/eq.c  |  21 +--
>  drivers/net/ethernet/mellanox/mlx5/core/qp.c  |  20 ++-

there is alot of ethernet files here, parts of this should probably go
through the shared branch?

Jason
Saeed Mahameed Nov. 8, 2018, 7:50 p.m. UTC | #2
On Thu, 2018-11-08 at 19:45 +0000, Jason Gunthorpe wrote:
> On Thu, Nov 08, 2018 at 09:10:07PM +0200, Leon Romanovsky wrote:
> > From: Leon Romanovsky <leonro@mellanox.com>
> > 
> > Hi,
> > 
> > This is collection of fixes to mlx5_core and mlx5_ib ODP logic.
> > There are two main reasons why we decided to forward it to mlx5-
> > next
> > and not to rdma-rc or net like our other fixes.
> > 
> > 1. We have large number of patches exactly in that area that are
> > ready
> > for submission and we don't want to create extra merge work for
> > maintainers due to that. Among those future series (already ready
> > and
> > tested): internal change of mlx5_core pagefaults handling, moving
> > ODP
> > code to RDMA, change in EQ mechanism, simplification and moving SRQ
> > QP
> > to RDMA, extra fixes to mlx5_ib ODP and ODP SRQ support.
> > 
> > 2. Most of those fixes are for old bugs and there is no rush to fix
> > them
> > right now (in -rc1/-rc2).
> > 
> > Thanks
> > 
> > Moni Shoua (10):
> >   net/mlx5: Release resource on error flow
> >   IB/mlx5: Avoid hangs due to a missing completion
> >   net/mlx5: Add interface to hold and release core resources
> >   net/mlx5: Enumerate page fault types
> >   IB/mlx5: Lock QP during page fault handling
> >   net/mlx5: Return success for PAGE_FAULT_RESUME in internal error
> > state
> >   net/mlx5: Use multi threaded workqueue for page fault handling
> >   IB/mlx5: Call PAGE_FAULT_RESUME command asynchronously
> >   net/mlx5: Remove unused function
> >   IB/mlx5: Improve ODP debugging messages
> > 
> >  drivers/infiniband/core/umem_odp.c            |  14 +-
> >  drivers/infiniband/hw/mlx5/mlx5_ib.h          |   1 +
> >  drivers/infiniband/hw/mlx5/mr.c               |  15 +-
> >  drivers/infiniband/hw/mlx5/odp.c              | 158
> > ++++++++++++++----
> >  drivers/net/ethernet/mellanox/mlx5/core/cmd.c |   2 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/eq.c  |  21 +--
> >  drivers/net/ethernet/mellanox/mlx5/core/qp.c  |  20 ++-
> 
> there is alot of ethernet files here, parts of this should probably
> go
> through the shared branch?
> 

All of this should go to the shared branch, 
after this ODP series we have another series that moves all the ODP
logic out of mlx5_core into mlx5_ib.

> Jason
Leon Romanovsky Nov. 12, 2018, 8:43 p.m. UTC | #3
On Thu, Nov 08, 2018 at 09:10:07PM +0200, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@mellanox.com>
>
> Hi,
>
> This is collection of fixes to mlx5_core and mlx5_ib ODP logic.
> There are two main reasons why we decided to forward it to mlx5-next
> and not to rdma-rc or net like our other fixes.
>
> 1. We have large number of patches exactly in that area that are ready
> for submission and we don't want to create extra merge work for
> maintainers due to that. Among those future series (already ready and
> tested): internal change of mlx5_core pagefaults handling, moving ODP
> code to RDMA, change in EQ mechanism, simplification and moving SRQ QP
> to RDMA, extra fixes to mlx5_ib ODP and ODP SRQ support.
>
> 2. Most of those fixes are for old bugs and there is no rush to fix them
> right now (in -rc1/-rc2).
>
> Thanks
>
> Moni Shoua (10):
>   net/mlx5: Release resource on error flow
>   net/mlx5: Add interface to hold and release core resources
>   net/mlx5: Enumerate page fault types
>   IB/mlx5: Lock QP during page fault handling
>   net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state
>   net/mlx5: Use multi threaded workqueue for page fault handling
>   IB/mlx5: Improve ODP debugging messages

Applied to mlx5-next
b02394aa75e3 IB/mlx5: Improve ODP debugging messages
90290db7669b net/mlx5: Use multi threaded workqueue for page fault handling
ef90c5e9757d net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state
032080ab43ac IB/mlx5: Lock QP during page fault handling
c99fefea2cc9 net/mlx5: Enumerate page fault types
27e95603f4df net/mlx5: Add interface to hold and release core resources
698114968a22 net/mlx5: Release resource on error flow

>   IB/mlx5: Avoid hangs due to a missing completion
>   IB/mlx5: Call PAGE_FAULT_RESUME command asynchronously

Dropped to address feedback.

>   net/mlx5: Remove unused function

Dropped, because it depends on dropped commit.

Thanks

>
>  drivers/infiniband/core/umem_odp.c            |  14 +-
>  drivers/infiniband/hw/mlx5/mlx5_ib.h          |   1 +
>  drivers/infiniband/hw/mlx5/mr.c               |  15 +-
>  drivers/infiniband/hw/mlx5/odp.c              | 158 ++++++++++++++----
>  drivers/net/ethernet/mellanox/mlx5/core/cmd.c |   2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/eq.c  |  21 +--
>  drivers/net/ethernet/mellanox/mlx5/core/qp.c  |  20 ++-
>  include/linux/mlx5/device.h                   |   7 +
>  include/linux/mlx5/driver.h                   |   7 +-
>  include/linux/mlx5/qp.h                       |   5 +
>  10 files changed, 191 insertions(+), 59 deletions(-)
>
> --
> 2.19.1
>
Jason Gunthorpe Nov. 19, 2018, 10:25 p.m. UTC | #4
On Mon, Nov 12, 2018 at 01:43:15PM -0700, Leon Romanovsky wrote:
> On Thu, Nov 08, 2018 at 09:10:07PM +0200, Leon Romanovsky wrote:
> > From: Leon Romanovsky <leonro@mellanox.com>
> >
> > Hi,
> >
> > This is collection of fixes to mlx5_core and mlx5_ib ODP logic.
> > There are two main reasons why we decided to forward it to mlx5-next
> > and not to rdma-rc or net like our other fixes.
> >
> > 1. We have large number of patches exactly in that area that are ready
> > for submission and we don't want to create extra merge work for
> > maintainers due to that. Among those future series (already ready and
> > tested): internal change of mlx5_core pagefaults handling, moving ODP
> > code to RDMA, change in EQ mechanism, simplification and moving SRQ QP
> > to RDMA, extra fixes to mlx5_ib ODP and ODP SRQ support.
> >
> > 2. Most of those fixes are for old bugs and there is no rush to fix them
> > right now (in -rc1/-rc2).
> >
> > Thanks
> >
> > Moni Shoua (10):
> >   net/mlx5: Release resource on error flow
> >   net/mlx5: Add interface to hold and release core resources
> >   net/mlx5: Enumerate page fault types
> >   IB/mlx5: Lock QP during page fault handling
> >   net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state
> >   net/mlx5: Use multi threaded workqueue for page fault handling
> >   IB/mlx5: Improve ODP debugging messages
> 
> Applied to mlx5-next
> b02394aa75e3 IB/mlx5: Improve ODP debugging messages
> 90290db7669b net/mlx5: Use multi threaded workqueue for page fault handling
> ef90c5e9757d net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state
> 032080ab43ac IB/mlx5: Lock QP during page fault handling
> c99fefea2cc9 net/mlx5: Enumerate page fault types
> 27e95603f4df net/mlx5: Add interface to hold and release core resources
> 698114968a22 net/mlx5: Release resource on error flow
> 
> >   IB/mlx5: Avoid hangs due to a missing completion
> >   IB/mlx5: Call PAGE_FAULT_RESUME command asynchronously
> 
> Dropped to address feedback.
> 
> >   net/mlx5: Remove unused function
> 
> Dropped, because it depends on dropped commit.

Okay, merged into for-next

Jason