[SRU][PULL v2][noble:linux-azure-nvidia] New MANA patches for backport
John Cabaj
john.cabaj at canonical.com
Mon Feb 10 21:03:55 UTC 2025
BugLink: https://bugs.launchpad.net/bugs/2096924
SRU Justification
[Impact]
* Microsoft requested patches to enable RC QP support and RDMA
connection manager support for MANA adapter, along with some 64k page
size fixes.
[Fix]
* 1 revert "RDMA/mana_ib: set node_guid" as previous stable commit was
incorrect
* 23 clean cherry-picks from upstream linux
* 13 clean cherry-picks from linux-next
* 3 SAUCE patches from rdma-next tree
* 1 SAUCE patch to fix namespace issue (6.13 kernel change namespace to
string literals, so reverting MANA patches that also introduced this)
* 1 SAUCE patch from mailing list, destined for rdma-next
[Test Plan]
* Compile tested
* Boot tested
* Will be further tested by Microsoft
[Regression potential]
* Changes isolated to MANA, minimal regression risk. All other changes
upstream
[Other info]
* SF#00405821
v2:
* Added a couple more requested and relevant patches
----------------------------------------------------------------
The following changes since commit 7f65875bb8216a735ae674e4593d0d24af29ef3e:
UBUNTU: Ubuntu-azure-nvidia-6.8.0-1009.9 (2025-01-16 09:27:26 -0600)
are available in the Git repository at:
https://git.launchpad.net/~john-cabaj/ubuntu/+source/linux-azure/+git/azure-nvidia mana-patches
for you to fetch changes up to d7c0f43fb322c13b6810292672b8bdd22719c97e:
UBUNTU: SAUCE: RDMA/mana_ib: implement reg_user_mr_dmabuf (2025-02-10
11:12:14 -0600)
----------------------------------------------------------------
John Cabaj (2):
Revert "RDMA/mana_ib: set node_guid"
UBUNTU: SAUCE: mana: Removing string literal "NET_MANA" namespace
Konstantin Taranov (37):
RDMA/mana_ib: Use struct mana_ib_queue for WQs
RDMA/mana_ib: Use struct mana_ib_queue for RAW QPs
RDMA/mana_ib: remove useless return values from dbg prints
RDMA/mana_ib: Use num_comp_vectors of ib_device
RDMA/mana_ib: Add EQ creation for rnic adapter
RDMA/mana_ib: Create and destroy rnic adapter
RDMA/mana_ib: Implement port parameters
RDMA/mana_ib: Adding and deleting GIDs
RDMA/mana_ib: Configure mac address in RNIC
RDMA/mana_ib: Fix missing ret value
RDMA/mana_ib: create EQs for RNIC CQs
RDMA/mana_ib: create and destroy RNIC cqs
RDMA/mana_ib: introduce a helper to remove cq callbacks
RDMA/mana_ib: implement uapi for creation of rnic cq
RDMA/mana_ib: Create and destroy RC QP
RDMA/mana_ib: Implement uapi to create and destroy RC QP
RDMA/mana_ib: Modify QP state
RDMA/mana_ib: set node_guid
RDMA/mana_ib: extend query device
RDMA/mana_ib: Process QP error events in mana_ib
RDMA/mana_ib: Set correct device into ib
RDMA/mana_ib: Allow registration of DMA-mapped memory in PDs
RDMA/mana_ib: implement get_dma_mr
RDMA/mana_ib: helpers to allocate kernel queues
RDMA/mana_ib: create kernel-level CQs
RDMA/mana_ib: Create and destroy UD/GSI QP
RDMA/mana_ib: UD/GSI QP creation for kernel
RDMA/mana_ib: create/destroy AH
net/mana: fix warning in the writer of client oob
RDMA/mana_ib: UD/GSI work requests
RDMA/mana_ib: implement req_notify_cq
RDMA/mana_ib: extend mana QP table
RDMA/mana_ib: polling of CQs for GSI/UD
RDMA/mana_ib: indicate CM support
UBUNTU: SAUCE: RDMA/mana_ib: request error CQEs when supported
UBUNTU: SAUCE: RDMA/mana_ib: Allocate PAGE aligned doorbell index
UBUNTU: SAUCE: RDMA/mana_ib: implement reg_user_mr_dmabuf
Shiraz Saleem (2):
UBUNTU: SAUCE: RDMA/mana_ib: Query feature_flags bitmask from FW
RDMA/mana_ib: Add port statistics support
Yishai Hadas (1):
RDMA: Pass uverbs_attr_bundle as part of '.reg_user_mr_dmabuf' API
drivers/infiniband/core/uverbs_std_types_mr.c | 2 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 3 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 2 +-
drivers/infiniband/hw/efa/efa.h | 2 +-
drivers/infiniband/hw/efa/efa_verbs.c | 4 +-
drivers/infiniband/hw/irdma/verbs.c | 2 +-
drivers/infiniband/hw/mana/Makefile | 2 +-
drivers/infiniband/hw/mana/ah.c | 58 +++++++++++++++
drivers/infiniband/hw/mana/counters.c | 105
+++++++++++++++++++++++++++
drivers/infiniband/hw/mana/counters.h | 44 ++++++++++++
drivers/infiniband/hw/mana/cq.c | 268
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
drivers/infiniband/hw/mana/device.c | 77 +++++++++++++++++---
drivers/infiniband/hw/mana/main.c | 480
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
drivers/infiniband/hw/mana/mana_ib.h | 465
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
drivers/infiniband/hw/mana/mr.c | 115
+++++++++++++++++++++++++++++-
drivers/infiniband/hw/mana/qp.c | 525
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
drivers/infiniband/hw/mana/shadow_queue.h | 115
++++++++++++++++++++++++++++++
drivers/infiniband/hw/mana/wq.c | 31 ++------
drivers/infiniband/hw/mana/wr.c | 168
+++++++++++++++++++++++++++++++++++++++++++
drivers/infiniband/hw/mlx5/mlx5_ib.h | 2 +-
drivers/infiniband/hw/mlx5/mr.c | 2 +-
drivers/net/ethernet/microsoft/mana/gdma_main.c | 8 ++-
drivers/net/ethernet/microsoft/mana/mana_en.c | 19 +++++
include/net/mana/gdma.h | 8 +++
include/net/mana/mana.h | 2 +
include/rdma/ib_verbs.h | 2 +-
include/uapi/rdma/mana-abi.h | 21 ++++++
27 files changed, 2363 insertions(+), 169 deletions(-)
create mode 100644 drivers/infiniband/hw/mana/ah.c
create mode 100644 drivers/infiniband/hw/mana/counters.c
create mode 100644 drivers/infiniband/hw/mana/counters.h
create mode 100644 drivers/infiniband/hw/mana/shadow_queue.h
create mode 100644 drivers/infiniband/hw/mana/wr.c
More information about the kernel-team
mailing list