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

Tim Gardner tim.gardner at canonical.com
Thu Jul 6 12:43:00 UTC 2023


On 6/23/23 12:40 PM, Tim Gardner wrote:
> 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
> 
Applied to jammy linux-azure:master-next. Thanks.

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




More information about the kernel-team mailing list