mbox series

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

Message ID 20241016144352.177011-1-jacob.martin@canonical.com
Headers show
Series MANA: include driver fixes and enable module on ARM64 | expand

Message

Jacob Martin Oct. 16, 2024, 2:43 p.m. UTC
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(-)

Comments

John Cabaj Oct. 16, 2024, 3:49 p.m. UTC | #1
On 10/16/24 9:43 AM, Jacob Martin wrote:
> 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(-)
> 

Acked-by: John Cabaj <john.cabaj@canonical.com>
Brad Figg Oct. 16, 2024, 6:05 p.m. UTC | #2
I’m fine with these patches.

From: kernel-team <kernel-team-bounces@lists.ubuntu.com> on behalf of John Cabaj <john.cabaj@canonical.com>
Date: Wednesday, October 16, 2024 at 8:49 AM
To: kernel-team@lists.ubuntu.com <kernel-team@lists.ubuntu.com>
Subject: ACK: [SRU][N:nvidia][PATCH v2 0/8] MANA: include driver fixes and enable module on ARM64

External email: Use caution opening links or attachments


On 10/16/24 9:43 AM, Jacob Martin wrote:
> 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(-)
>

Acked-by: John Cabaj <john.cabaj@canonical.com>


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Guoqing Jiang Oct. 17, 2024, 3:32 a.m. UTC | #3
Acked-by: Guoqing Jiang <guoqing.jiang@canonical.com>

On 10/16/24 22:43, Jacob Martin wrote:
> 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(-)
>
Jacob Martin Oct. 17, 2024, 1:14 p.m. UTC | #4
On Wed, Oct 16, 2024 at 09:43:43AM -0500, Jacob Martin wrote:
> 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
> 

Applied to noble:linux-nvidia/main-next.

Jacob