mbox series

[v1,0/6] Last WQE Reached event treatment

Message ID 20240618001034.22681-1-mgurtovoy@nvidia.com (mailing list archive)
Headers show
Series Last WQE Reached event treatment | expand

Message

Max Gurtovoy June 18, 2024, 12:10 a.m. UTC
Hi Jason/Leon/Sagi,

This series adds a support for draining a QP that is associated with a
SRQ (Shared Receive Queue).
Leakage problem can occur if we won't treat Last WQE Reached event.

In the series, that is based on some old series I've send during 2018, I
used a different approach and handled the event in the RDMA core, as was
suggested in discussion in the mailing list.

I've updated RDMA ULPs. Most of them were trivial except IPoIB that was
handling the Last WQE reached in the ULP.

I've tested this series with NVMf/RDMA on RoCE.

Max Gurtovoy (6):
  IB/core: add support for draining Shared receive queues
  IB/isert: remove the handling of last WQE reached event
  RDMA/srpt: remove the handling of last WQE reached event
  nvmet-rdma: remove the handling of last WQE reached event
  svcrdma: remove the handling of last WQE reached event
  RDMA/IPoIB: remove the handling of last WQE reached event

 drivers/infiniband/core/verbs.c          | 83 +++++++++++++++++++++++-
 drivers/infiniband/ulp/ipoib/ipoib.h     | 33 +---------
 drivers/infiniband/ulp/ipoib/ipoib_cm.c  | 71 ++------------------
 drivers/infiniband/ulp/isert/ib_isert.c  |  3 -
 drivers/infiniband/ulp/srpt/ib_srpt.c    |  5 --
 drivers/nvme/target/rdma.c               |  4 --
 include/rdma/ib_verbs.h                  |  2 +
 net/sunrpc/xprtrdma/svc_rdma_transport.c |  1 -
 8 files changed, 92 insertions(+), 110 deletions(-)

Comments

Zhu Yanjun June 23, 2024, 1:03 p.m. UTC | #1
在 2024/6/18 8:10, Max Gurtovoy 写道:
> Hi Jason/Leon/Sagi,
> 
> This series adds a support for draining a QP that is associated with a
> SRQ (Shared Receive Queue).
> Leakage problem can occur if we won't treat Last WQE Reached event.
> 
> In the series, that is based on some old series I've send during 2018, I

The old series is as below. It had better to post the link.

https://www.spinics.net/lists/linux-rdma/msg59633.html

Zhu Yanjun

> used a different approach and handled the event in the RDMA core, as was
> suggested in discussion in the mailing list.
> 
> I've updated RDMA ULPs. Most of them were trivial except IPoIB that was
> handling the Last WQE reached in the ULP.
> 
> I've tested this series with NVMf/RDMA on RoCE.
> 
> Max Gurtovoy (6):
>    IB/core: add support for draining Shared receive queues
>    IB/isert: remove the handling of last WQE reached event
>    RDMA/srpt: remove the handling of last WQE reached event
>    nvmet-rdma: remove the handling of last WQE reached event
>    svcrdma: remove the handling of last WQE reached event
>    RDMA/IPoIB: remove the handling of last WQE reached event
> 
>   drivers/infiniband/core/verbs.c          | 83 +++++++++++++++++++++++-
>   drivers/infiniband/ulp/ipoib/ipoib.h     | 33 +---------
>   drivers/infiniband/ulp/ipoib/ipoib_cm.c  | 71 ++------------------
>   drivers/infiniband/ulp/isert/ib_isert.c  |  3 -
>   drivers/infiniband/ulp/srpt/ib_srpt.c    |  5 --
>   drivers/nvme/target/rdma.c               |  4 --
>   include/rdma/ib_verbs.h                  |  2 +
>   net/sunrpc/xprtrdma/svc_rdma_transport.c |  1 -
>   8 files changed, 92 insertions(+), 110 deletions(-)
>