[SRU][PULL][noble:linux-azure-nvidia] New MANA patches for backport

John Cabaj john.cabaj at canonical.com
Thu Feb 6 22:32:47 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

[Fix]

* 1 revert "RDMA/mana_ib: set node_guid" as previous stable commit was 
incorrect
* 21 clean cherry-picks from upstream linux
* 13 clean cherry-picks from linux-next
* 1 SAUCE patch to fix namespace issue (6.13 kernel change namespace to 
string literals, so reverting MANA patches that also introduced this)

[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

----------------------------------------------------------------

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 3c275e91202bca6d03052377d9f7e015f183c0af:

   UBUNTU: SAUCE: mana: Removing string literal "NET_MANA" namespace 
(2025-02-06 15:45:19 -0600)

----------------------------------------------------------------
John Cabaj (2):
       Revert "RDMA/mana_ib: set node_guid"
       UBUNTU: SAUCE: mana: Removing string literal "NET_MANA" namespace

Konstantin Taranov (34):
       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

  drivers/infiniband/hw/mana/Makefile             |   2 +-
  drivers/infiniband/hw/mana/ah.c                 |  58 +++++++++++++++
  drivers/infiniband/hw/mana/cq.c                 | 268 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
  drivers/infiniband/hw/mana/device.c             |  69 +++++++++++++++---
  drivers/infiniband/hw/mana/main.c               | 472 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
  drivers/infiniband/hw/mana/mana_ib.h            | 414 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
  drivers/infiniband/hw/mana/mr.c                 |  38 +++++++++-
  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/net/ethernet/microsoft/mana/gdma_main.c |   8 ++-
  drivers/net/ethernet/microsoft/mana/mana_en.c   |  19 +++++
  include/net/mana/gdma.h                         |   7 ++
  include/net/mana/mana.h                         |   2 +
  include/uapi/rdma/mana-abi.h                    |  21 ++++++
  16 files changed, 2060 insertions(+), 157 deletions(-)
  create mode 100644 drivers/infiniband/hw/mana/ah.c
  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