[PATCH net-next v10 0/4] net: mana: concurrent HWC requests and dynamic queue depth

From
Wei Hu <hidden>
Date
2026-11-09 15:45:20
Also in
linux-hyperv, linux-rdma, lkml
This is v10 of Long Li's four-patch HWC series, rebased for the reopened
net-next tree. I am carrying the series forward with review fixes and
integration work. Original authorship and sign-offs are retained.

The series supports concurrent requests over the MANA hardware channel and
rebuilds its queues using the queue depth and message sizes required by
the PF. It prepares ownership and teardown, gives each message its own
completion, adds concurrent request tracking, and enables dynamic sizing.

v9 was deferred while net-next was closed. This revision resolves its
conflicts with the upstream throttled-EQE support; it is not an unchanged
RESEND. No new actionable v9 review finding was located during the
reposting check.

Changes since v9:
- Rebase onto current net-next, including the throttled-EQE support from
  684603842b78 ("net: mana: Add support to process throttled EQEs").
- In patch 1, use one acquire-loaded CQ-table snapshot in the new throttle
  reader, matching the existing normal-EQE reader and HWC table-withdrawal
  lifetime contract.
- In patch 1, fence the HWC EQ before destroying its CQ, but keep the EQ
  allocation alive until the CQ has detached its upstream child entry.
  Preserve the upstream generic CQ detach/RCU implementation and allowance
  for empty HWC CQ polls.
- Refresh patch 4's context while preserving the upstream doorbell
  client_offset argument and address adjustment.
- Patches 2 and 3 retain their v9 changes. PF-directed queue geometry,
  healthy-admission waiting and timeout/cancellation policy are unchanged.

Validation on this exact revision:
- GCC and Clang W=1 MANA Ethernet/RDMA target builds for the unmodified
  base and each of the four intermediate commits.
- Strict netdev checkpatch with an 80-column limit and whitespace checks.
- Bounded actual-source userspace regression tests for request ownership,
  admission, retention, teardown, initialization, rebuild and TX budgets.
- New GCC/Clang ASan/UBSan tests of the throttle reader and CQ/EQ cleanup
  on patches 1 and 4, including partial setup, prior fencing, table
  withdrawal and negative controls for the integration changes.
- Source review of ownership, IRQ/RCU readers and failure paths.

These are static/offline checks. No new full-kernel, hardware, runtime
or performance qualification is claimed for this rebase.

Previous revision:
https://lore.kernel.org/all/cover.1792679388.git.weh@linux.microsoft.com/ (local)

Deferral while net-next was closed:
https://lore.kernel.org/all/20261022082333.5a259426@kernel.org/ (local)

Base: fa5196392691051963726787944db872420dfa75

Long Li (4):
  net: mana: prepare HWC ownership for safe reinitialization
  net: mana: give each HWC message slot its own completion state
  net: mana: support concurrent HWC requests
  net: mana: add dynamic HWC queue depth with reinit path

 drivers/infiniband/hw/mana/main.c             |   19 +-
 .../net/ethernet/microsoft/mana/gdma_cdx.c    |    5 +-
 .../net/ethernet/microsoft/mana/gdma_main.c   |  162 ++-
 .../net/ethernet/microsoft/mana/gdma_pci.c    |   15 +-
 .../net/ethernet/microsoft/mana/hw_channel.c  | 1022 ++++++++++++++---
 .../net/ethernet/microsoft/mana/shm_channel.c |   58 +-
 include/net/mana/gdma.h                       |   17 +
 include/net/mana/hw_channel.h                 |   70 +-
 include/net/mana/shm_channel.h                |   10 +-
 9 files changed, 1157 insertions(+), 221 deletions(-)


base-commit: fa5196392691051963726787944db872420dfa75
-- 
2.43.0
Thread (9 messages) 9 messages, 2 authors, last reply 1d ago
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help