[PATCH rdma-next 0/5] RDMA/mana_ib: Streamline kernel UD/GSI posting and completion handling

Konstantin Taranov posted 5 patches 1 week, 1 day ago
There is a newer version of this series
drivers/infiniband/hw/mana/cq.c               | 315 +++++++++++++-----
drivers/infiniband/hw/mana/mana_ib.h          | 101 +++++-
drivers/infiniband/hw/mana/qp.c               |  78 +++--
drivers/infiniband/hw/mana/shadow_queue.h     |  60 ++--
drivers/infiniband/hw/mana/wr.c               | 141 ++++----
.../net/ethernet/microsoft/mana/gdma_main.c   |  43 ++-
include/net/mana/gdma.h                       |   9 +-
7 files changed, 527 insertions(+), 220 deletions(-)
[PATCH rdma-next 0/5] RDMA/mana_ib: Streamline kernel UD/GSI posting and completion handling
Posted by Konstantin Taranov 1 week, 1 day ago
From: Konstantin Taranov <kotaranov@microsoft.com>

This series updates the kernel UD/GSI work-request and completion paths in
the MANA RDMA driver. The existing completion path copies CQE information
into shadow entries and then walks the QPs attached to a CQ to produce
work completions. This adds bookkeeping and a second pass over information
that is already available when processing the CQE.

Generate work completions directly from CQEs and the corresponding posted
shadow entries instead. Keep only QPs requiring software flushing on the
CQ's error lists, and use the caller's remaining completion budget to
retire their outstanding requests. The explicit GSI send-drain path adds
the QP to the error list and invokes the CQ handler.

The shared GDMA SGE writer and explicit-index doorbell helper are included
with their first users so this series does not depend on a later GDMA
change. The WQE definitions and polling context also provide groundwork
for a separate kernel RC series; RC posting, PSN/FSN processing, hardware
error-CQE handling.

Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>

Konstantin Taranov (5):
  RDMA/mana_ib: Optimize shadow queue bookkeeping
  RDMA/mana_ib: Revise UD send posting and WQE definitions
  RDMA/mana_ib: Revise UD receive posting with GDMA_WR_IB_SGL
  RDMA/mana_ib: Make kernel CQ arming robust
  RDMA/mana_ib: Poll UD completions and flush software error QPs

 drivers/infiniband/hw/mana/cq.c               | 315 +++++++++++++-----
 drivers/infiniband/hw/mana/mana_ib.h          | 101 +++++-
 drivers/infiniband/hw/mana/qp.c               |  78 +++--
 drivers/infiniband/hw/mana/shadow_queue.h     |  60 ++--
 drivers/infiniband/hw/mana/wr.c               | 141 ++++----
 .../net/ethernet/microsoft/mana/gdma_main.c   |  43 ++-
 include/net/mana/gdma.h                       |   9 +-
 7 files changed, 527 insertions(+), 220 deletions(-)


base-commit: 63367df6e7255067ad6a83abe0d2799dfa491876
-- 
2.43.0
Re: [PATCH rdma-next 0/5] RDMA/mana_ib: Streamline kernel UD/GSI posting and completion handling
Posted by Leon Romanovsky 2 days, 14 hours ago
On Wed, Sep 16, 2026 at 06:48:30AM -0700, Konstantin Taranov wrote:
> From: Konstantin Taranov <kotaranov@microsoft.com>
> 
> This series updates the kernel UD/GSI work-request and completion paths in
> the MANA RDMA driver. The existing completion path copies CQE information
> into shadow entries and then walks the QPs attached to a CQ to produce
> work completions. This adds bookkeeping and a second pass over information
> that is already available when processing the CQE.
> 
> Generate work completions directly from CQEs and the corresponding posted
> shadow entries instead. Keep only QPs requiring software flushing on the
> CQ's error lists, and use the caller's remaining completion budget to
> retire their outstanding requests. The explicit GSI send-drain path adds
> the QP to the error list and invokes the CQ handler.
> 
> The shared GDMA SGE writer and explicit-index doorbell helper are included
> with their first users so this series does not depend on a later GDMA
> change. The WQE definitions and polling context also provide groundwork
> for a separate kernel RC series; RC posting, PSN/FSN processing, hardware
> error-CQE handling.

I read the commit messages, but couldn't find much information about what
you are doing or why. They only describe the implementation, in AI prose.

Thanks

> 
> Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
> 
> Konstantin Taranov (5):
>   RDMA/mana_ib: Optimize shadow queue bookkeeping
>   RDMA/mana_ib: Revise UD send posting and WQE definitions
>   RDMA/mana_ib: Revise UD receive posting with GDMA_WR_IB_SGL
>   RDMA/mana_ib: Make kernel CQ arming robust
>   RDMA/mana_ib: Poll UD completions and flush software error QPs
> 
>  drivers/infiniband/hw/mana/cq.c               | 315 +++++++++++++-----
>  drivers/infiniband/hw/mana/mana_ib.h          | 101 +++++-
>  drivers/infiniband/hw/mana/qp.c               |  78 +++--
>  drivers/infiniband/hw/mana/shadow_queue.h     |  60 ++--
>  drivers/infiniband/hw/mana/wr.c               | 141 ++++----
>  .../net/ethernet/microsoft/mana/gdma_main.c   |  43 ++-
>  include/net/mana/gdma.h                       |   9 +-
>  7 files changed, 527 insertions(+), 220 deletions(-)
> 
> 
> base-commit: 63367df6e7255067ad6a83abe0d2799dfa491876
> -- 
> 2.43.0