[Pull Request][Jammy/linux-azure] [Azure][MANA][InfinitiBand] Features Support and InfiniBand for MANA

Tim Gardner tim.gardner at canonical.com
Fri Jun 23 18:40:00 UTC 2023


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

SRU Justification

[Impact]

Microsoft has requested support for MANA feature updates as well as 
virtual Infiniband support.

[Test Case]

Microsoft tested

[Regression Potential]

the MANA driver may not function correctly. Infiniband is new.

[Other Info]

SF: #00358953
---------------------------------------------------------------------
git request-pull Ubuntu-azure-5.15.0-1041.48 lp 
jammy-azure-Features-Support-and-InfiniBand-for-MANA-sf00358953
The following changes since commit 0c3965270dd2dcf7509c1e3e69863975b5934975:

   UBUNTU: Ubuntu-azure-5.15.0-1041.48 (2023-06-20 14:12:27 -0600)

are available in the Git repository at:

   git://git.launchpad.net/~timg-tpi/ubuntu/+source/linux/+git/jammy 
jammy-azure-Features-Support-and-InfiniBand-for-MANA-sf00358953

for you to fetch changes up to e8add73099e722086e18fda4da4c867c5ebfd9d0:

   UBUNTU: [Config] azure: Enable MANA_INFINIBAND (2023-06-23 10:26:33 
-0600)

----------------------------------------------------------------
Ajay Sharma (3):
       net: mana: Set the DMA device max segment size
       net: mana: Define and process GDMA response code 
GDMA_STATUS_MORE_ENTRIES
       net: mana: Define data structures for protection domain and 
memory registration

Dan Carpenter (1):
       RDMA/mana_ib: Prevent array underflow in mana_ib_create_qp_raw()

Haiyang Zhang (1):
       net: mana: Fix accessing freed irq affinity_hint

Leon Romanovsky (1):
       RDMA/mana: Remove redefinition of basic u64 type

Long Li (9):
       net: mana: Add support for auxiliary device
       net: mana: Record the physical address for doorbell page region
       net: mana: Handle vport sharing between devices
       net: mana: Export Work Queue functions for use by RDMA driver
       net: mana: Record port number in netdev
       net: mana: Move header files to a common location
       net: mana: Define max values for SGL entries
       net: mana: Define data structures for allocating doorbell page 
from GDMA
       RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter

Nathan Huckleberry (1):
       net: mana: Fix return type of mana_start_xmit()

Paolo Abeni (1):
       bpf: Let bpf_warn_invalid_xdp_action() report more info

Saurabh Sengar (1):
       net: mana: Assign interrupts to CPUs based on NUMA nodes

Tim Gardner (1):
       UBUNTU: [Config] azure: Enable MANA_INFINIBAND

Vitaly Kuznetsov (1):
       PCI: Move PCI_VENDOR_ID_MICROSOFT/PCI_DEVICE_ID_HYPERV_VIDEO 
definitions to pci_ids.h

  MAINTAINERS                                                        | 
10 +++
  debian.azure/config/annotations                                    |   1 +
  drivers/gpu/drm/hyperv/hyperv_drm_drv.c                            |   3 -
  drivers/infiniband/Kconfig                                         |   1 +
  drivers/infiniband/hw/Makefile                                     |   1 +
  drivers/infiniband/hw/mana/Kconfig                                 | 
10 +++
  drivers/infiniband/hw/mana/Makefile                                | 
4 ++
  drivers/infiniband/hw/mana/cq.c                                    | 
79 +++++++++++++++++++++
  drivers/infiniband/hw/mana/device.c                                | 
117 +++++++++++++++++++++++++++++++
  drivers/infiniband/hw/mana/main.c                                  | 
521 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  drivers/infiniband/hw/mana/mana_ib.h                               | 
162 ++++++++++++++++++++++++++++++++++++++++++
  drivers/infiniband/hw/mana/mr.c                                    | 
197 ++++++++++++++++++++++++++++++++++++++++++++++++++++
  drivers/infiniband/hw/mana/qp.c                                    | 
506 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  drivers/infiniband/hw/mana/wq.c                                    | 
115 ++++++++++++++++++++++++++++++
  drivers/net/ethernet/amazon/ena/ena_netdev.c                       | 
2 +-
  drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c                      | 
2 +-
  drivers/net/ethernet/cavium/thunder/nicvf_main.c                   | 
2 +-
  drivers/net/ethernet/freescale/dpaa/dpaa_eth.c                     | 
2 +-
  drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c                   | 
2 +-
  drivers/net/ethernet/freescale/enetc/enetc.c                       | 
2 +-
  drivers/net/ethernet/intel/i40e/i40e_txrx.c                        | 
2 +-
  drivers/net/ethernet/intel/i40e/i40e_xsk.c                         | 
2 +-
  drivers/net/ethernet/intel/ice/ice_txrx.c                          | 
2 +-
  drivers/net/ethernet/intel/ice/ice_xsk.c                           | 
2 +-
  drivers/net/ethernet/intel/igb/igb_main.c                          | 
2 +-
  drivers/net/ethernet/intel/igc/igc_main.c                          | 
2 +-
  drivers/net/ethernet/intel/ixgbe/ixgbe_main.c                      | 
2 +-
  drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c                       | 
2 +-
  drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c                  | 
2 +-
  drivers/net/ethernet/marvell/mvneta.c                              | 
2 +-
  drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c                    | 
2 +-
  drivers/net/ethernet/mellanox/mlx4/en_rx.c                         | 
2 +-
  drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c                   | 
2 +-
  drivers/net/ethernet/microsoft/Kconfig                             |   1 +
  drivers/net/ethernet/microsoft/mana/gdma_main.c                    | 
56 ++++++++++-----
  drivers/net/ethernet/microsoft/mana/hw_channel.c                   | 
6 +-
  drivers/net/ethernet/microsoft/mana/mana_bpf.c                     | 
4 +-
  drivers/net/ethernet/microsoft/mana/mana_en.c                      | 
177 ++++++++++++++++++++++++++++++++++++++++------
  drivers/net/ethernet/microsoft/mana/mana_ethtool.c                 | 
2 +-
  drivers/net/ethernet/microsoft/mana/shm_channel.c                  | 
2 +-
  drivers/net/ethernet/netronome/nfp/nfp_net_common.c                | 
2 +-
  drivers/net/ethernet/qlogic/qede/qede_fp.c                         | 
2 +-
  drivers/net/ethernet/sfc/rx.c                                      | 
2 +-
  drivers/net/ethernet/socionext/netsec.c                            | 
2 +-
  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c                  | 
2 +-
  drivers/net/ethernet/ti/cpsw_priv.c                                | 
2 +-
  drivers/net/hyperv/netvsc_bpf.c                                    | 
2 +-
  drivers/net/tun.c                                                  | 
2 +-
  drivers/net/veth.c                                                 | 
4 +-
  drivers/net/virtio_net.c                                           | 
4 +-
  drivers/net/xen-netfront.c                                         | 
2 +-
  drivers/video/fbdev/hyperv_fb.c                                    | 
4 --
  include/linux/filter.h                                             | 
2 +-
  include/linux/pci_ids.h                                            |   3 +
  {drivers/net/ethernet/microsoft => include/net}/mana/gdma.h        | 
154 ++++++++++++++++++++++++++++++++++++++--
  {drivers/net/ethernet/microsoft => include/net}/mana/hw_channel.h  |   0
  {drivers/net/ethernet/microsoft => include/net}/mana/mana.h        | 
25 +++++--
  include/net/mana/mana_auxiliary.h                                  | 
10 +++
  {drivers/net/ethernet/microsoft => include/net}/mana/shm_channel.h |   0
  include/uapi/rdma/ib_user_ioctl_verbs.h                            |   1 +
  include/uapi/rdma/mana-abi.h                                       | 
66 ++++++++++++++++++
  kernel/bpf/cpumap.c                                                | 
4 +-
  kernel/bpf/devmap.c                                                | 
4 +-
  net/core/dev.c                                                     | 
2 +-
  net/core/filter.c                                                  | 
6 +-
  65 files changed, 2219 insertions(+), 101 deletions(-)
  create mode 100644 drivers/infiniband/hw/mana/Kconfig
  create mode 100644 drivers/infiniband/hw/mana/Makefile
  create mode 100644 drivers/infiniband/hw/mana/cq.c
  create mode 100644 drivers/infiniband/hw/mana/device.c
  create mode 100644 drivers/infiniband/hw/mana/main.c
  create mode 100644 drivers/infiniband/hw/mana/mana_ib.h
  create mode 100644 drivers/infiniband/hw/mana/mr.c
  create mode 100644 drivers/infiniband/hw/mana/qp.c
  create mode 100644 drivers/infiniband/hw/mana/wq.c
  rename {drivers/net/ethernet/microsoft => include/net}/mana/gdma.h (82%)
  rename {drivers/net/ethernet/microsoft => 
include/net}/mana/hw_channel.h (100%)
  rename {drivers/net/ethernet/microsoft => include/net}/mana/mana.h (94%)
  create mode 100644 include/net/mana/mana_auxiliary.h
  rename {drivers/net/ethernet/microsoft => 
include/net}/mana/shm_channel.h (100%)
  create mode 100644 include/uapi/rdma/mana-abi.h

-- 
-----------
Tim Gardner
Canonical, Inc



More information about the kernel-team mailing list