[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