[SRU][N:nvidia][PATCH v2 0/8] MANA: include driver fixes and enable module on ARM64

Jacob Martin jacob.martin at canonical.com
Wed Oct 16 14:43:43 UTC 2024


BugLink: https://bugs.launchpad.net/bugs/2084598

SRU Justification

[Impact]

NVIDIA kernels are used on systems that require support for the Microsoft Azure
Network Adapter, including on ARM64 systems with support for 64K and 4K page
sizes. Build the MANA driver on both arches and include the listed fixes for
the MANA driver to support both 64K and 4K page sizes and address a race
condition.

[Fix]

UBUNTU: [Packaging] nvidia: Include mana.ko in linux-modules-ABIVER package 
UBUNTU: [Config] nvidia: Enable MANA configs on x86 and arm64
RDMA/mana_ib: use the correct page size for mapping user-mode doorbell page
RDMA/mana_ib: use the correct page table index based on hardware page size
net: mana: Fix RX buf alloc_size alignment and atomic op panic
net: mana: Fix race of mana_hwc_post_rx_wqe and new hwc response
net: mana: Add support for page sizes other than 4KB on ARM64
net: mana: Enable MANA driver on ARM64 with 4K page size

[Test Plan]

Compile tested on x86 and arm64. Kernel regression testing will be run to
verify there are no regressions from these patches on NVIDIA hardware.

[Where problems could occur]

These changes are specific to the MANA networking driver. Issues with this
patch would manifest as misbehavior of that driver, likely on ARM64 platforms.

v2:
 - Remove netdev and linux-next from the cherry pick notes of "net: mana: Fix race
   of mana_hwc_post_rx_wqe and new hwc response" and "net: mana: Add support for
   page sizes other than 4KB on ARM64", these commits exist in mainline with the
   same hashes.

Haiyang Zhang (4):
  net: mana: Enable MANA driver on ARM64 with 4K page size
  net: mana: Add support for page sizes other than 4KB on ARM64
  net: mana: Fix race of mana_hwc_post_rx_wqe and new hwc response
  net: mana: Fix RX buf alloc_size alignment and atomic op panic

Jacob Martin (2):
  UBUNTU: [Config] nvidia: Enable MANA configs on x86 and arm64
  UBUNTU: [Packaging] nvidia: Include mana.ko in linux-modules-ABIVER
    package

Long Li (2):
  RDMA/mana_ib: use the correct page table index based on hardware page
    size
  RDMA/mana_ib: use the correct page size for mapping user-mode doorbell
    page

 debian.nvidia/config/annotations              |  6 ++
 debian.nvidia/control.d/nvidia.inclusion-list |  1 +
 drivers/infiniband/hw/mana/main.c             |  8 +-
 drivers/net/ethernet/microsoft/Kconfig        |  3 +-
 .../net/ethernet/microsoft/mana/gdma_main.c   | 10 +--
 .../net/ethernet/microsoft/mana/hw_channel.c  | 76 ++++++++++---------
 drivers/net/ethernet/microsoft/mana/mana_en.c | 14 ++--
 .../net/ethernet/microsoft/mana/shm_channel.c | 13 ++--
 include/net/mana/gdma.h                       | 10 ++-
 include/net/mana/mana.h                       |  3 +-
 10 files changed, 86 insertions(+), 58 deletions(-)

-- 
2.43.0




More information about the kernel-team mailing list