[SRU,bionic:linux-bluefield,PULL] Integrate Fixes from Mellanox 2019-10-16
mbox series

Message ID CAH10aOgcWCPzDdobtFVF-vpycjoQUn=VdwnJRcurCvFo5FZULA@mail.gmail.com
State New
Headers show
Series
  • [SRU,bionic:linux-bluefield,PULL] Integrate Fixes from Mellanox 2019-10-16
Related show

Pull-request

git://git.launchpad.net/~wenchien/+git/ubuntu-kernel bluefield-20191016

Message

Wen-chien Jesse Sung Oct. 18, 2019, 12:57 p.m. UTC
Buglink: https://launchpad.net/bugs/1848324

SRU Justification

* Impact:
Some issues found while Mellanox verifying linux-bluefield. These are
the patches they sent to address those issues.

* Risk of Regression:
Low. Patches are from Mellanox and will be only apply to linux-bluefield.

----------------------------------------------------------------
The following changes since commit e73b251209f5e1de8daf75941af6ac1f7cbf230f:

  UBUNTU: Ubuntu-bluefield-5.0.0-1003.12 (2019-10-03 11:06:04 -0700)

are available in the Git repository at:

  git://git.launchpad.net/~wenchien/+git/ubuntu-kernel bluefield-20191016

for you to fetch changes up to c42e649a6e6cca5d06207682e1f009ec7dfa24bc:

  UBUNTU: [Config] updates for linux-bluefield (2019-10-18 20:38:45 +0800)

----------------------------------------------------------------
Ariel Levkovich (8):
      net/mlx5: Expose SW ICM related device memory capabilities
      net/mlx5: Expose TIR ICM address in command outbox
      net/mlx5: Introduce new TIR creation core API
      IB/mlx5: Expose TIR ICM address to user space
      IB/mlx5: Support device memory type attribute
      IB/mlx5: Warn on allocated MEMIC buffers during cleanup
      IB/mlx5: Add steering SW ICM device memory type
      IB/mlx5: Device resource control for privileged DEVX user

Aya Levin (15):
      devlink: Add Documentation/networking/devlink-health.txt
      net/mlx5: Refactor queries to speed fields in Port Type and Speed register
      net/mlx5: Add new fields to Port Type and Speed register
      net/mlx5: Add support to ext_* fields introduced in Port Type
and Speed register
      IB/mlx5: Add support for 50Gbps per lane link modes
      net/mlx5: ethtool, Add ethtool support for 50Gbps per lane link modes
      devlink: Rename devlink health attributes
      devlink: Modify reply of DEVLINK_CMD_HEALTH_REPORTER_GET
      IB/mlx5: Fix mapping of link-mode to IB width and speed
      net/mlx5: ethtool, Fix type analysis of advertised link-mode
      net/mlx5: ethtool, Allow legacy link-modes configuration via
non-extended ptys
      net/mlx5: Expose MPEIN (Management PCIE INfo) register layout
      net/mlx5: Handle event of power detection in the PCIE slot
      IB/mlx5: Restrict 'DELAY_DROP_TIMEOUT' subtype to Ethernet interfaces
      net/mlx5: Enable general events on all interfaces

Bodong Wang (4):
      UBUNTU: SAUCE: IB/mlx5: Check both CONFIG_ARM and CONFIG_ARM64
      net/mlx5: Fix peer pf disable hca command
      UBUNTU: SAUCE: net/mlx5: Check eswitch manager for all relevant FS command
      UBUNTU: SAUCE: net/mlx5: E-Switch, Have vport placeholder for
ECPF eswich manager

Eli Britstein (1):
      flow_offload: Fix flow action infrastructure

Eran Ben Elisha (10):
      devlink: Add health buffer support
      devlink: Add health reporter create/destroy functionality
      devlink: Add health report functionality
      devlink: Add health get command
      devlink: Add health set command
      devlink: Add health recover command
      devlink: Add health diagnose command
      devlink: Add health dump {get,clear} commands
      net/mlx5e: Add TX reporter support
      net/mlx5e: Add TX timeout support for mlx5e TX reporter

Gal Pressman (1):
      RDMA: Add indication for in kernel API support to IB device

Greg Kroah-Hartman (1):
      infiniband: mlx5: no need to check return value of
debugfs_create functions

Huy Nguyen (1):
      net/mlx5: Support ndo bridge_setlink and getlink

Jakub Kicinski (4):
      ethtool: add compat for devlink info
      devlink: fix condition for compat device info
      devlink: don't allocate attrs on the stack
      devlink: add device information API

Jason Gunthorpe (29):
      IB/{core,hw}: Have ib_umem_get extract the ib_ucontext from ib_udata
      RDMA/device: Use __ib_device_get_by_name() in ib_device_rename()
      coding-style: Clarify the expectations around bool
      net/mlx5: Make mlx5_cmd_exec_cb() a safe API
      RDMA/device: Check that the rename is nop under the lock
      RDMA/device: Ensure that security memory is always freed
      RDMA/device: Call ib_cache_release_one() only from ib_device_release()
      RDMA/device: Get rid of reg_state
      RDMA/device: Use an ida instead of a free page in alloc_name
      RDMA/devices: Use xarray to store the clients
      RDMA/devices: Use xarray to store the client_data
      RDMA/devices: Re-organize device.c locking
      lib/scatterlist: Provide a DMA page iterator
      RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq
      RDMA: Add and use rdma_for_each_port
      RDMA/device: Consolidate ib_device per_port data into one place
      RDMA/cache: Move the cache per-port data into the main ib_port_data
      RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev
      RDMA/device: Add ib_device_get_by_netdev()
      RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding
      RDMA/device: Provide APIs from the core code to help unregistration
      RDMA/rxe: Use driver_unregister and new unregistration API
      RDMA/rxe: Add ib_device_get_by_name() and use it in rxe
      RDMA/rxe: Close a race after ib_register_device
      IB/mlx5: Remove references to uboject->context
      IB: When attrs.udata/ufile is available use that instead of uobject
      RDMA/drivers: Convert easy drivers to use ib_device_set_netdev()
      RDMA: Remove rdma_user_mmap_page
      RDMA/core: Clear out the udata before error unwind

Jianbo Liu (1):
      UBUNTU: SAUCE: RDMA/mlx5: Add vport metadata matching for IB representors

Leon Romanovsky (49):
      RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING
      RDMA/core: Don't depend device ODP capabilities on kconfig option
      RDMA/mlx5: Introduce and reuse helper to identify ODP MR
      RDMA/mlx5: Embed into the code flow the ODP config option
      RDMA/mlx5: Delete declaration of already removed function
      RDMA: Clear PD objects during their allocation
      RDMA: Clear CQ objects during their allocation
      RDMA: Clear CTX objects during their allocation
      RDMA/mad: Reduce MAD scope to mlx5_ib only
      RDMA: Provide safe ib_alloc_device() function
      RDMA/nldev: Dynamically generate restrack dumpit callbacks
      RDMA/nldev: Factor out the PID namespace check
      RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks
      RDMA/core: Simplify restrack interface
      RDMA/restrack: Refactor user/kernel restrack additions
      RDMA/core: Use the ops infrastructure to keep all callbacks in one place
      RDMA/cma: Remove CM_ID statistics provided by rdma-cm module
      RDMA/core: Share driver structure size with core
      RDMA: Handle PD allocations by IB/core
      net/mlx5: Align ODP capability function with netdev coding style
      RDMA/restrack: Convert internal DB from hash to XArray
      RDMA/restrack: Translate from ID to restrack object
      RDMA/nldev: Add resource tracker doit callback
      RDMA/restrack: Reduce scope of synchronization lock while updating DB
      RDMA/restrack: Hide restrack DB from IB/core
      net/mlx5: Factor out HCA capabilities functions
      RDMA/restrack: Prepare restrack_root to addition of extra fields per-type
      RDMA/nldev: Share with user-space object IDs
      RDMA/nldev: Provide parent IDs for PD, MR and QP objects
      RDMA/nldev: Connect QP number to .doit callback
      RDMA/nldev: Don't expose number of not-visible entries
      net/mlx5e: Add missing static function annotation
      net/mlx5: Delete unused FPGA QPN variable
      RDMA/iwcm: Fix string truncation error
      RDMA: Handle ucontext allocations by IB/core
      RDMA/uverbs: Don't do double free of allocated PD
      RDMA/netlink: Remove unused data structure
      RDMA/core: Don't compare specific bit after boolean AND
      RDMA/cma: Set proper port number as index
      RDMA/mlx5: Cleanup WQE page fault handler
      RDMA/cm: Remove useless zeroing of static global variable
      RDMA/cm: Move debug counters to be under relevant IB device
      RDMA/nldev: Return device protocol
      RDMA/core: Support object allocation in atomic context
      RDMA: Handle AH allocations by IB/core
      RDMA: Handle SRQ allocations by IB/core
      RDMA/rdmavt: Catch use-after-free access of AH structures
      RDMA/mlx5: Remove MAYEXEC flag
      RDMA/device: Don't fire uevent before device is fully initialized

Maor Gottlieb (3):
      IB/mlx5: Don't override existing ip_protocol
      RDMA/mlx5: Add query e-switch vport context to devx white list
      UBUNTU: SAUCE: RDMA/mlx5: Consider eswitch encap mode

Mark Bloch (18):
      RDMA/mlx5: Fix memory leak in case we fail to add an IB device
      net/mlx5: E-Switch, add a new prio to be used by the RDMA side
      RDMA/mlx5: Move netdev info into the port struct
      RDMA/mlx5: Free IB device on remove
      RDMA/mlx5: Move ports allocation to outside of INIT stage
      RDMA/mlx5: Use correct size for device resources
      RDMA/mlx5: Move rep into port struct
      RDMA/mlx5: Move default representors SQ steering to rule to modify QP
      RDMA/mlx5: Refactor netdev affinity code
      RDMA/mlx5: Move SMI caps logic
      RDMA/mlx5: Move to single device multiport ports in switchdev mode
      RDMA/mlx5: Remove VF representor profile
      RDMA/mlx5: Access the prio bypass inside the FDB flow table namespace
      RDMA/mlx5: Create flow table with max size supported
      RDMA/mlx5: Allow inserting a steering rule to the FDB
      RDMA/mlx5: Allow DEVX and raw creation flow on reps
      RDMA/mlx5: Initialize roce port info before multiport master init
      RDMA/mlx5: Don't create IB representors when in multiport RoCE mode

Mark Zhang (2):
      UBUNTU: SAUCE: net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap
      UBUNTU: SAUCE: IB/core: udp_sport support for sa_path and rdma_ah

Moni Shoua (17):
      net/mlx5: Add XRC transport to ODP device capabilities layout
      net/mlx5: Set ODP SRQ support in firmware
      IB/mlx5: Fix the locking of SRQ objects in ODP events
      IB/core: Allocate a bit for SRQ ODP support
      IB/uverbs: Expose XRC ODP device capabilities
      IB/mlx5: Remove useless check in ODP handler
      IB/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature
      IB/mlx5: Add XRC initiator ODP support
      IB/mlx5: Let read user wqe also from SRQ buffer
      IB/mlx5: Add ODP SRQ support
      IB/mlx5: Advertise SRQ ODP support for supported transports
      IB/mlx5: Advertise XRC ODP support
      IB/mlx5: Protect against prefetch of invalid MR
      IB/mlx5: Validate correct PD before prefetch MR
      IB/core: Abort page fault handler silently during owning process exit
      IB/mlx5: Set correct write permissions for implicit ODP MR
      net/mlx5: ODP support for XRC transport is not enabled by default in FW

Parav Pandit (40):
      RDMA: Rename port_callback to init_port
      RDMA: Introduce and use rdma_device_to_ibdev()
      IB/core: Simplify rdma cgroup registration
      IB/umad: Avoid additional device reference during open()/close()
      IB/umad: Do not check status of nonseekable_open()
      IB/mlx5: Consider vlan of lower netdev for macvlan GID entries
      devlink: Add WARN_ON to catch errors of not cleaning devlink objects
      devlink: Return right error code in case of errors for region read
      devlink: Fix list access without lock while reading region
      RDMA/core: Use simpler device_del() instead of device_unregister()
      RDMA/core: Introduce and use ib_setup_port_attrs()
      RDMA/core: Move device addition deletion to device.c
      net/mlx5: Simplify sriov enable/disable flow
      net/mlx5: Simplify mlx5_sriov_is_enabled() by using pci core API
      RDMA/core: Introduce ib_core_device to hold device
      RDMA/core: Restrict sysfs entries view to init_net
      RDMA/core: Implement compat device/sysfs tree in net namespace
      RDMA/core: Support core port attributes in non init_net
      RDMA/core: Add module param to disable device sharing among net ns
      RDMA: Check net namespace access for uverbs, umad, cma and nldev
      RDMA/core: Extend ib_device_get_by_index for net namespace
      RDMA/core: Add interface to read device namespace sharing mode
      RDMA/core: Add command to set ib_core device net namspace sharing mode
      RDMA/core: Avoid freeing netdevs in disable_device()
      RDMA/core: Introduce a helper function to change net namespace
of rdma device
      RDMA/core: Add a netlink command to change net namespace of rdma device
      IB/core: Allow vlan link local address based RoCE GIDs
      UBUNTU: SAUCE: net/mlx5_core: Add debugfs for flow steering
      UBUNTU: SAUCE: net/mlx5: Add per-namespace flow table default
miss action support
      UBUNTU: SAUCE: net/mlx5: Create bypass and loopback flow
steering namespaces for RDMA RX
      UBUNTU: SAUCE: RDMA/mlx5: RDMA_RX flow type support for user applications
      RDMA/core: Do not invoke init_port on compat devices
      RDMA/rxe: Consider skb reserve space based on netdev of GID
      IB/cm: Reduce dependency on gid attribute ndev check
      RDMA: Introduce and use GID attr helper to read RoCE L2 fields
      RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev
      RDMA/core: Allow detaching gid attribute netdevice for RoCE
      RDMA/core: Change system parameters callback from dumpit to doit
      {IB, net}/mlx5: No need to typecast from void* to mlx5_ib_dev*
      {IB,net}/mlx5: Constify rep ops functions pointers

Saeed Mahameed (2):
      net/mlx5: Fix compilation warning in eq.c
      net/mlx5: Fix broken hca cap offset

Shamir Rabinovitch (10):
      IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs
      IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl
and cmd flows
      IB/verbs: Add helper function rdma_udata_to_drv_context
      IB/{hw,sw}: Remove 'uobject->context' dependency in object creation APIs
      IB: ucontext should be set properly for all cmd & ioctl paths
      IB: Pass uverbs_attr_bundle down uobject destroy path
      IB: Pass uverbs_attr_bundle down ib_x destroy path
      IB: Remove 'uobject->context' dependency in object destroy APIs
      IB: Pass only ib_udata in function prototypes
      RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in
ib_uverbs_get_context

Steve Wise (1):
      RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support

Vu Pham (2):
      UBUNTU: SAUCE: RDMA/mlx5: Set port state to NOP for invalid port_num
      UBUNTU: SAUCE: net/mlx5: Support modifying max_sfs

Wen-chien Jesse Sung (1):
      UBUNTU: [Config] updates for linux-bluefield

Yevgeny Kliteynik (2):
      net/mlx5: Geneve, Add basic Geneve encap/decap flow table capabilities
      net/mlx5: Geneve, Add flow table capabilities for Geneve decap
with TLV options

Yishai Hadas (12):
      IB/mlx5: DEVX handling for indirection MKEY
      IB/mlx5: Manage indirection mkey upon DEVX flow for ODP
      IB/mlx5: Add support for ODP for DEVX indirection mkey
      IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD
      IB/mlx5: Introduce async DEVX obj query API
      IB/mlx5: Implement the file ops of DEVX async command FD
      IB/mlx5: Implement DEVX hot unplug for async command FD
      IB/mlx5: Fix bad flow upon DEVX mkey creation
      IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT
      IB/mlx5: Verify DEVX general object type correctly
      net/mlx5: Set completion EQs as shared resources
      net/mlx5: Fix mlx5_core_destroy_cq() error flow

root (1):
      UBUNTU: SAUCE: net/mlx5: Expose eswitch encap mode

 .clang-format                                      |    2 +
 Documentation/networking/devlink-health.txt        |   86 +
 Documentation/process/coding-style.rst             |   38 +-
 .../abi/5.0.0-1002.11/arm64/bluefield.modules      |   13 +-
 debian.bluefield/config/annotations                |   11 +
 debian.bluefield/config/config.common.ubuntu       |   30 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c         |    8 +-
 drivers/infiniband/Kconfig                         |   15 +-
 drivers/infiniband/core/Makefile                   |    4 +-
 drivers/infiniband/core/addr.c                     |    1 +
 drivers/infiniband/core/cache.c                    |  242 ++-
 drivers/infiniband/core/cgroup.c                   |    5 +-
 drivers/infiniband/core/cm.c                       |   52 +-
 drivers/infiniband/core/cma.c                      |  107 +-
 drivers/infiniband/core/core_priv.h                |   47 +-
 drivers/infiniband/core/cq.c                       |   21 +-
 drivers/infiniband/core/device.c                   | 1933 +++++++++++++++-----
 drivers/infiniband/core/iwcm.c                     |    6 +-
 drivers/infiniband/core/mad.c                      |    4 +-
 drivers/infiniband/core/netlink.c                  |    4 +-
 drivers/infiniband/core/nldev.c                    |  605 ++++--
 drivers/infiniband/core/rdma_core.c                |  102 +-
 drivers/infiniband/core/rdma_core.h                |   13 +-
 drivers/infiniband/core/restrack.c                 |  210 ++-
 drivers/infiniband/core/restrack.h                 |   28 +
 drivers/infiniband/core/security.c                 |   39 +-
 drivers/infiniband/core/sysfs.c                    |  163 +-
 drivers/infiniband/core/umem.c                     |   13 +-
 drivers/infiniband/core/umem_odp.c                 |    2 +-
 drivers/infiniband/core/user_mad.c                 |   62 +-
 drivers/infiniband/core/uverbs.h                   |    3 +-
 drivers/infiniband/core/uverbs_cmd.c               |  156 +-
 drivers/infiniband/core/uverbs_ioctl.c             |   26 +-
 drivers/infiniband/core/uverbs_main.c              |   69 +-
 drivers/infiniband/core/uverbs_std_types.c         |   52 +-
 .../infiniband/core/uverbs_std_types_counters.c    |    5 +-
 drivers/infiniband/core/uverbs_std_types_cq.c      |   12 +-
 drivers/infiniband/core/uverbs_std_types_dm.c      |    9 +-
 .../infiniband/core/uverbs_std_types_flow_action.c |    5 +-
 drivers/infiniband/core/uverbs_std_types_mr.c      |    9 +-
 drivers/infiniband/core/uverbs_uapi.c              |   15 +-
 drivers/infiniband/core/verbs.c                    |  224 +--
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           |  235 +--
 drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   46 +-
 drivers/infiniband/hw/bnxt_re/main.c               |   20 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.c           |   12 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.h           |    4 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.c           |   12 +-
 drivers/infiniband/hw/bnxt_re/qplib_sp.h           |    4 +-
 drivers/infiniband/hw/cxgb3/iwch.c                 |    2 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.c        |  105 +-
 drivers/infiniband/hw/cxgb4/cq.c                   |   17 +-
 drivers/infiniband/hw/cxgb4/device.c               |    2 +-
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |   19 +-
 drivers/infiniband/hw/cxgb4/mem.c                  |    9 +-
 drivers/infiniband/hw/cxgb4/provider.c             |   70 +-
 drivers/infiniband/hw/cxgb4/qp.c                   |   47 +-
 drivers/infiniband/hw/hfi1/sysfs.c                 |   16 +-
 drivers/infiniband/hw/hfi1/verbs.c                 |    2 +-
 drivers/infiniband/hw/hns/Kconfig                  |    1 -
 drivers/infiniband/hw/hns/hns_roce_ah.c            |   36 +-
 drivers/infiniband/hw/hns/hns_roce_cq.c            |   42 +-
 drivers/infiniband/hw/hns/hns_roce_db.c            |    6 +-
 drivers/infiniband/hw/hns/hns_roce_device.h        |   39 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   45 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.h         |    2 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |   34 +-
 drivers/infiniband/hw/hns/hns_roce_main.c          |   63 +-
 drivers/infiniband/hw/hns/hns_roce_mr.c            |   13 +-
 drivers/infiniband/hw/hns/hns_roce_pd.c            |   26 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c            |   26 +-
 drivers/infiniband/hw/hns/hns_roce_srq.c           |   59 +-
 drivers/infiniband/hw/i40iw/i40iw_cm.c             |    3 +-
 drivers/infiniband/hw/i40iw/i40iw_utils.c          |    1 -
 drivers/infiniband/hw/i40iw/i40iw_verbs.c          |  143 +-
 drivers/infiniband/hw/mlx4/Kconfig                 |    1 -
 drivers/infiniband/hw/mlx4/ah.c                    |  103 +-
 drivers/infiniband/hw/mlx4/cq.c                    |   55 +-
 drivers/infiniband/hw/mlx4/doorbell.c              |    8 +-
 drivers/infiniband/hw/mlx4/mad.c                   |   33 +-
 drivers/infiniband/hw/mlx4/main.c                  |   82 +-
 drivers/infiniband/hw/mlx4/mlx4_ib.h               |   35 +-
 drivers/infiniband/hw/mlx4/mr.c                    |   20 +-
 drivers/infiniband/hw/mlx4/qp.c                    |  128 +-
 drivers/infiniband/hw/mlx4/srq.c                   |   67 +-
 drivers/infiniband/hw/mlx5/Kconfig                 |    1 -
 drivers/infiniband/hw/mlx5/ah.c                    |   33 +-
 drivers/infiniband/hw/mlx5/cmd.c                   |  192 +-
 drivers/infiniband/hw/mlx5/cmd.h                   |   10 +-
 drivers/infiniband/hw/mlx5/cong.c                  |   15 +-
 drivers/infiniband/hw/mlx5/cq.c                    |   60 +-
 drivers/infiniband/hw/mlx5/devx.c                  |  532 +++++-
 drivers/infiniband/hw/mlx5/doorbell.c              |    6 +-
 drivers/infiniband/hw/mlx5/flow.c                  |  108 +-
 drivers/infiniband/hw/mlx5/ib_rep.c                |  135 +-
 drivers/infiniband/hw/mlx5/ib_rep.h                |   31 +-
 drivers/infiniband/hw/mlx5/mad.c                   |   11 +-
 drivers/infiniband/hw/mlx5/main.c                  |  979 ++++++----
 drivers/infiniband/hw/mlx5/mem.c                   |    5 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |  165 +-
 drivers/infiniband/hw/mlx5/mr.c                    |  217 +--
 drivers/infiniband/hw/mlx5/odp.c                   |  361 +++-
 drivers/infiniband/hw/mlx5/qp.c                    |  425 +++--
 drivers/infiniband/hw/mlx5/srq.c                   |   87 +-
 drivers/infiniband/hw/mlx5/srq.h                   |    4 +-
 drivers/infiniband/hw/mlx5/srq_cmd.c               |   24 +-
 drivers/infiniband/hw/mthca/mthca_main.c           |    2 +-
 drivers/infiniband/hw/mthca/mthca_provider.c       |  274 ++-
 drivers/infiniband/hw/mthca/mthca_qp.c             |   13 +-
 drivers/infiniband/hw/mthca/mthca_srq.c            |   21 +-
 drivers/infiniband/hw/nes/Kconfig                  |    2 +-
 drivers/infiniband/hw/nes/nes_cm.c                 |    3 +-
 drivers/infiniband/hw/nes/nes_verbs.c              |  153 +-
 drivers/infiniband/hw/ocrdma/ocrdma_ah.c           |   32 +-
 drivers/infiniband/hw/ocrdma/ocrdma_ah.h           |    6 +-
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |   18 +-
 drivers/infiniband/hw/ocrdma/ocrdma_hw.h           |    6 +-
 drivers/infiniband/hw/ocrdma/ocrdma_main.c         |   24 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |  254 ++-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |   29 +-
 drivers/infiniband/hw/qedr/main.c                  |   31 +-
 drivers/infiniband/hw/qedr/qedr_roce_cm.c          |   11 +-
 drivers/infiniband/hw/qedr/verbs.c                 |  188 +-
 drivers/infiniband/hw/qedr/verbs.h                 |   31 +-
 drivers/infiniband/hw/qib/qib_sysfs.c              |   18 +-
 drivers/infiniband/hw/qib/qib_verbs.c              |    2 +-
 drivers/infiniband/hw/usnic/usnic_ib_main.c        |    6 +-
 drivers/infiniband/hw/usnic/usnic_ib_sysfs.c       |   26 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |   57 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.h       |   18 +-
 drivers/infiniband/hw/usnic/usnic_uiom.c           |    3 +-
 drivers/infiniband/hw/usnic/usnic_uiom.h           |    3 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |   19 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |   34 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c       |    7 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |    9 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c      |   47 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c    |  140 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h    |   33 +-
 drivers/infiniband/sw/rdmavt/ah.c                  |   38 +-
 drivers/infiniband/sw/rdmavt/ah.h                  |    8 +-
 drivers/infiniband/sw/rdmavt/cq.c                  |    7 +-
 drivers/infiniband/sw/rdmavt/cq.h                  |    3 +-
 drivers/infiniband/sw/rdmavt/mmap.c                |   16 +-
 drivers/infiniband/sw/rdmavt/mmap.h                |    6 +-
 drivers/infiniband/sw/rdmavt/mr.c                  |   10 +-
 drivers/infiniband/sw/rdmavt/mr.h                  |    7 +-
 drivers/infiniband/sw/rdmavt/pd.c                  |   30 +-
 drivers/infiniband/sw/rdmavt/pd.h                  |    6 +-
 drivers/infiniband/sw/rdmavt/qp.c                  |    6 +-
 drivers/infiniband/sw/rdmavt/qp.h                  |    2 +-
 drivers/infiniband/sw/rdmavt/srq.c                 |   48 +-
 drivers/infiniband/sw/rdmavt/srq.h                 |    7 +-
 drivers/infiniband/sw/rdmavt/vt.c                  |   37 +-
 drivers/infiniband/sw/rxe/rxe.c                    |   41 +-
 drivers/infiniband/sw/rxe/rxe.h                    |   14 +-
 drivers/infiniband/sw/rxe/rxe_cq.c                 |   10 +-
 drivers/infiniband/sw/rxe/rxe_loc.h                |   18 +-
 drivers/infiniband/sw/rxe/rxe_mmap.c               |   14 +-
 drivers/infiniband/sw/rxe/rxe_mr.c                 |    2 +-
 drivers/infiniband/sw/rxe/rxe_net.c                |   89 +-
 drivers/infiniband/sw/rxe/rxe_net.h                |    2 +-
 drivers/infiniband/sw/rxe/rxe_pool.c               |   81 +-
 drivers/infiniband/sw/rxe/rxe_pool.h               |    4 +
 drivers/infiniband/sw/rxe/rxe_qp.c                 |   15 +-
 drivers/infiniband/sw/rxe/rxe_queue.c              |   22 +-
 drivers/infiniband/sw/rxe/rxe_queue.h              |   15 +-
 drivers/infiniband/sw/rxe/rxe_srq.c                |   14 +-
 drivers/infiniband/sw/rxe/rxe_sysfs.c              |   36 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c              |  173 +-
 drivers/infiniband/sw/rxe/rxe_verbs.h              |   11 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c          |    4 +-
 drivers/infiniband/ulp/srp/ib_srp.c                |    5 +-
 drivers/media/pci/intel/ipu3/ipu3-cio2.c           |    4 +-
 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |    6 +-
 drivers/net/ethernet/mellanox/mlx5/core/cmd.c      |   55 +-
 drivers/net/ethernet/mellanox/mlx5/core/cq.c       |    9 +-
 drivers/net/ethernet/mellanox/mlx5/core/ecpf.c     |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |   18 +-
 .../ethernet/mellanox/mlx5/core/en/monitor_stats.c |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/port.c  |  139 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/port.h  |   16 +-
 .../net/ethernet/mellanox/mlx5/core/en/reporter.h  |   15 +
 .../ethernet/mellanox/mlx5/core/en/reporter_tx.c   |  356 ++++
 .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |  281 ++-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  245 +--
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |   15 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.h   |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_tx.c    |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/eq.c       |   28 +-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |   11 +
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |    7 +-
 .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |   38 +-
 drivers/net/ethernet/mellanox/mlx5/core/events.c   |   75 +
 .../net/ethernet/mellanox/mlx5/core/fpga/core.c    |    2 -
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |   14 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |  271 ++-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |   18 +-
 .../net/ethernet/mellanox/mlx5/core/fs_debugfs.c   | 1324 ++++++++++++++
 .../net/ethernet/mellanox/mlx5/core/fs_debugfs.h   |  109 ++
 drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h   |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/mad.c      |   75 -
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |   89 +-
 .../net/ethernet/mellanox/mlx5/core/meddev/mdev.c  |   26 +-
 .../net/ethernet/mellanox/mlx5/core/meddev/sf.c    |  153 +-
 .../net/ethernet/mellanox/mlx5/core/meddev/sf.h    |    6 +-
 .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |    6 +-
 drivers/net/ethernet/mellanox/mlx5/core/mr.c       |   11 +-
 drivers/net/ethernet/mellanox/mlx5/core/port.c     |  106 --
 drivers/net/ethernet/mellanox/mlx5/core/qp.c       |    6 +-
 drivers/net/ethernet/mellanox/mlx5/core/rdma.c     |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/sriov.c    |   51 +-
 drivers/net/ethernet/mellanox/mlx5/core/transobj.c |   18 +-
 include/linux/cgroup_rdma.h                        |    2 +-
 include/linux/mlx5/device.h                        |    5 +
 include/linux/mlx5/driver.h                        |   40 +-
 include/linux/mlx5/eswitch.h                       |   32 +-
 include/linux/mlx5/fs.h                            |    2 +
 include/linux/mlx5/mlx5_ifc.h                      |  213 ++-
 include/linux/mlx5/port.h                          |   30 +-
 include/linux/mlx5/qp.h                            |    3 +-
 include/linux/mlx5/transobj.h                      |    3 +
 include/linux/mlx5/vport.h                         |    3 +-
 include/linux/scatterlist.h                        |   49 +-
 include/net/devlink.h                              |  175 +-
 include/net/flow_offload.h                         |    2 +-
 include/rdma/ib_cache.h                            |    4 +
 include/rdma/ib_sa.h                               |   13 +
 include/rdma/ib_umem.h                             |    8 +-
 include/rdma/ib_umem_odp.h                         |   26 +-
 include/rdma/ib_verbs.h                            |  544 ++++--
 include/rdma/rdma_netlink.h                        |   11 +
 include/rdma/rdma_vt.h                             |    8 +-
 include/rdma/restrack.h                            |   58 +-
 include/rdma/uverbs_ioctl.h                        |   18 +
 include/rdma/uverbs_std_types.h                    |   28 +-
 include/rdma/uverbs_types.h                        |   19 +-
 include/trace/events/devlink.h                     |   62 +
 include/uapi/linux/devlink.h                       |   35 +
 include/uapi/rdma/ib_user_verbs.h                  |    2 +
 include/uapi/rdma/mlx5-abi.h                       |    2 +
 include/uapi/rdma/mlx5_user_ioctl_cmds.h           |   20 +
 include/uapi/rdma/mlx5_user_ioctl_verbs.h          |   13 +
 include/uapi/rdma/rdma_netlink.h                   |   70 +-
 kernel/cgroup/rdma.c                               |    5 +-
 lib/scatterlist.c                                  |   26 +
 net/core/devlink.c                                 | 1593 ++++++++++++++--
 net/core/ethtool.c                                 |    7 +
 scripts/checkpatch.pl                              |   13 -
 249 files changed, 12785 insertions(+), 5840 deletions(-)
 create mode 100644 Documentation/networking/devlink-health.txt
 create mode 100644 drivers/infiniband/core/restrack.h
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter.h
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.h
 delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/mad.c

Comments

Stefan Bader Oct. 18, 2019, 2:27 p.m. UTC | #1
On 18.10.19 14:57, Jesse Sung wrote:
> Buglink: https://launchpad.net/bugs/1848324
> 
> SRU Justification
> 
> * Impact:
> Some issues found while Mellanox verifying linux-bluefield. These are
> the patches they sent to address those issues.
> 
> * Risk of Regression:
> Low. Patches are from Mellanox and will be only apply to linux-bluefield.
                        ^ Given the size and the fact most of it had been from
                          them before, I am not sure this qualifies as a measure
                          of quality.
                          Also only applying to certain kernel does not change
                          the risk of regression (for that kernel).

So you can argue this has been verified in the target environment and no new
issues were found. Still I would think the risk rather a medium from the delta.

And just to point it out, this missed the deadline for the next cycle. If there
are reasons to be in that cycle you should bring them up explicitly.

-Stefan

> 
> ----------------------------------------------------------------
> The following changes since commit e73b251209f5e1de8daf75941af6ac1f7cbf230f:
> 
>   UBUNTU: Ubuntu-bluefield-5.0.0-1003.12 (2019-10-03 11:06:04 -0700)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~wenchien/+git/ubuntu-kernel bluefield-20191016
> 
> for you to fetch changes up to c42e649a6e6cca5d06207682e1f009ec7dfa24bc:
> 
>   UBUNTU: [Config] updates for linux-bluefield (2019-10-18 20:38:45 +0800)
> 
> ----------------------------------------------------------------
> Ariel Levkovich (8):
>       net/mlx5: Expose SW ICM related device memory capabilities
>       net/mlx5: Expose TIR ICM address in command outbox
>       net/mlx5: Introduce new TIR creation core API
>       IB/mlx5: Expose TIR ICM address to user space
>       IB/mlx5: Support device memory type attribute
>       IB/mlx5: Warn on allocated MEMIC buffers during cleanup
>       IB/mlx5: Add steering SW ICM device memory type
>       IB/mlx5: Device resource control for privileged DEVX user
> 
> Aya Levin (15):
>       devlink: Add Documentation/networking/devlink-health.txt
>       net/mlx5: Refactor queries to speed fields in Port Type and Speed register
>       net/mlx5: Add new fields to Port Type and Speed register
>       net/mlx5: Add support to ext_* fields introduced in Port Type
> and Speed register
>       IB/mlx5: Add support for 50Gbps per lane link modes
>       net/mlx5: ethtool, Add ethtool support for 50Gbps per lane link modes
>       devlink: Rename devlink health attributes
>       devlink: Modify reply of DEVLINK_CMD_HEALTH_REPORTER_GET
>       IB/mlx5: Fix mapping of link-mode to IB width and speed
>       net/mlx5: ethtool, Fix type analysis of advertised link-mode
>       net/mlx5: ethtool, Allow legacy link-modes configuration via
> non-extended ptys
>       net/mlx5: Expose MPEIN (Management PCIE INfo) register layout
>       net/mlx5: Handle event of power detection in the PCIE slot
>       IB/mlx5: Restrict 'DELAY_DROP_TIMEOUT' subtype to Ethernet interfaces
>       net/mlx5: Enable general events on all interfaces
> 
> Bodong Wang (4):
>       UBUNTU: SAUCE: IB/mlx5: Check both CONFIG_ARM and CONFIG_ARM64
>       net/mlx5: Fix peer pf disable hca command
>       UBUNTU: SAUCE: net/mlx5: Check eswitch manager for all relevant FS command
>       UBUNTU: SAUCE: net/mlx5: E-Switch, Have vport placeholder for
> ECPF eswich manager
> 
> Eli Britstein (1):
>       flow_offload: Fix flow action infrastructure
> 
> Eran Ben Elisha (10):
>       devlink: Add health buffer support
>       devlink: Add health reporter create/destroy functionality
>       devlink: Add health report functionality
>       devlink: Add health get command
>       devlink: Add health set command
>       devlink: Add health recover command
>       devlink: Add health diagnose command
>       devlink: Add health dump {get,clear} commands
>       net/mlx5e: Add TX reporter support
>       net/mlx5e: Add TX timeout support for mlx5e TX reporter
> 
> Gal Pressman (1):
>       RDMA: Add indication for in kernel API support to IB device
> 
> Greg Kroah-Hartman (1):
>       infiniband: mlx5: no need to check return value of
> debugfs_create functions
> 
> Huy Nguyen (1):
>       net/mlx5: Support ndo bridge_setlink and getlink
> 
> Jakub Kicinski (4):
>       ethtool: add compat for devlink info
>       devlink: fix condition for compat device info
>       devlink: don't allocate attrs on the stack
>       devlink: add device information API
> 
> Jason Gunthorpe (29):
>       IB/{core,hw}: Have ib_umem_get extract the ib_ucontext from ib_udata
>       RDMA/device: Use __ib_device_get_by_name() in ib_device_rename()
>       coding-style: Clarify the expectations around bool
>       net/mlx5: Make mlx5_cmd_exec_cb() a safe API
>       RDMA/device: Check that the rename is nop under the lock
>       RDMA/device: Ensure that security memory is always freed
>       RDMA/device: Call ib_cache_release_one() only from ib_device_release()
>       RDMA/device: Get rid of reg_state
>       RDMA/device: Use an ida instead of a free page in alloc_name
>       RDMA/devices: Use xarray to store the clients
>       RDMA/devices: Use xarray to store the client_data
>       RDMA/devices: Re-organize device.c locking
>       lib/scatterlist: Provide a DMA page iterator
>       RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq
>       RDMA: Add and use rdma_for_each_port
>       RDMA/device: Consolidate ib_device per_port data into one place
>       RDMA/cache: Move the cache per-port data into the main ib_port_data
>       RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev
>       RDMA/device: Add ib_device_get_by_netdev()
>       RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding
>       RDMA/device: Provide APIs from the core code to help unregistration
>       RDMA/rxe: Use driver_unregister and new unregistration API
>       RDMA/rxe: Add ib_device_get_by_name() and use it in rxe
>       RDMA/rxe: Close a race after ib_register_device
>       IB/mlx5: Remove references to uboject->context
>       IB: When attrs.udata/ufile is available use that instead of uobject
>       RDMA/drivers: Convert easy drivers to use ib_device_set_netdev()
>       RDMA: Remove rdma_user_mmap_page
>       RDMA/core: Clear out the udata before error unwind
> 
> Jianbo Liu (1):
>       UBUNTU: SAUCE: RDMA/mlx5: Add vport metadata matching for IB representors
> 
> Leon Romanovsky (49):
>       RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING
>       RDMA/core: Don't depend device ODP capabilities on kconfig option
>       RDMA/mlx5: Introduce and reuse helper to identify ODP MR
>       RDMA/mlx5: Embed into the code flow the ODP config option
>       RDMA/mlx5: Delete declaration of already removed function
>       RDMA: Clear PD objects during their allocation
>       RDMA: Clear CQ objects during their allocation
>       RDMA: Clear CTX objects during their allocation
>       RDMA/mad: Reduce MAD scope to mlx5_ib only
>       RDMA: Provide safe ib_alloc_device() function
>       RDMA/nldev: Dynamically generate restrack dumpit callbacks
>       RDMA/nldev: Factor out the PID namespace check
>       RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks
>       RDMA/core: Simplify restrack interface
>       RDMA/restrack: Refactor user/kernel restrack additions
>       RDMA/core: Use the ops infrastructure to keep all callbacks in one place
>       RDMA/cma: Remove CM_ID statistics provided by rdma-cm module
>       RDMA/core: Share driver structure size with core
>       RDMA: Handle PD allocations by IB/core
>       net/mlx5: Align ODP capability function with netdev coding style
>       RDMA/restrack: Convert internal DB from hash to XArray
>       RDMA/restrack: Translate from ID to restrack object
>       RDMA/nldev: Add resource tracker doit callback
>       RDMA/restrack: Reduce scope of synchronization lock while updating DB
>       RDMA/restrack: Hide restrack DB from IB/core
>       net/mlx5: Factor out HCA capabilities functions
>       RDMA/restrack: Prepare restrack_root to addition of extra fields per-type
>       RDMA/nldev: Share with user-space object IDs
>       RDMA/nldev: Provide parent IDs for PD, MR and QP objects
>       RDMA/nldev: Connect QP number to .doit callback
>       RDMA/nldev: Don't expose number of not-visible entries
>       net/mlx5e: Add missing static function annotation
>       net/mlx5: Delete unused FPGA QPN variable
>       RDMA/iwcm: Fix string truncation error
>       RDMA: Handle ucontext allocations by IB/core
>       RDMA/uverbs: Don't do double free of allocated PD
>       RDMA/netlink: Remove unused data structure
>       RDMA/core: Don't compare specific bit after boolean AND
>       RDMA/cma: Set proper port number as index
>       RDMA/mlx5: Cleanup WQE page fault handler
>       RDMA/cm: Remove useless zeroing of static global variable
>       RDMA/cm: Move debug counters to be under relevant IB device
>       RDMA/nldev: Return device protocol
>       RDMA/core: Support object allocation in atomic context
>       RDMA: Handle AH allocations by IB/core
>       RDMA: Handle SRQ allocations by IB/core
>       RDMA/rdmavt: Catch use-after-free access of AH structures
>       RDMA/mlx5: Remove MAYEXEC flag
>       RDMA/device: Don't fire uevent before device is fully initialized
> 
> Maor Gottlieb (3):
>       IB/mlx5: Don't override existing ip_protocol
>       RDMA/mlx5: Add query e-switch vport context to devx white list
>       UBUNTU: SAUCE: RDMA/mlx5: Consider eswitch encap mode
> 
> Mark Bloch (18):
>       RDMA/mlx5: Fix memory leak in case we fail to add an IB device
>       net/mlx5: E-Switch, add a new prio to be used by the RDMA side
>       RDMA/mlx5: Move netdev info into the port struct
>       RDMA/mlx5: Free IB device on remove
>       RDMA/mlx5: Move ports allocation to outside of INIT stage
>       RDMA/mlx5: Use correct size for device resources
>       RDMA/mlx5: Move rep into port struct
>       RDMA/mlx5: Move default representors SQ steering to rule to modify QP
>       RDMA/mlx5: Refactor netdev affinity code
>       RDMA/mlx5: Move SMI caps logic
>       RDMA/mlx5: Move to single device multiport ports in switchdev mode
>       RDMA/mlx5: Remove VF representor profile
>       RDMA/mlx5: Access the prio bypass inside the FDB flow table namespace
>       RDMA/mlx5: Create flow table with max size supported
>       RDMA/mlx5: Allow inserting a steering rule to the FDB
>       RDMA/mlx5: Allow DEVX and raw creation flow on reps
>       RDMA/mlx5: Initialize roce port info before multiport master init
>       RDMA/mlx5: Don't create IB representors when in multiport RoCE mode
> 
> Mark Zhang (2):
>       UBUNTU: SAUCE: net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap
>       UBUNTU: SAUCE: IB/core: udp_sport support for sa_path and rdma_ah
> 
> Moni Shoua (17):
>       net/mlx5: Add XRC transport to ODP device capabilities layout
>       net/mlx5: Set ODP SRQ support in firmware
>       IB/mlx5: Fix the locking of SRQ objects in ODP events
>       IB/core: Allocate a bit for SRQ ODP support
>       IB/uverbs: Expose XRC ODP device capabilities
>       IB/mlx5: Remove useless check in ODP handler
>       IB/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature
>       IB/mlx5: Add XRC initiator ODP support
>       IB/mlx5: Let read user wqe also from SRQ buffer
>       IB/mlx5: Add ODP SRQ support
>       IB/mlx5: Advertise SRQ ODP support for supported transports
>       IB/mlx5: Advertise XRC ODP support
>       IB/mlx5: Protect against prefetch of invalid MR
>       IB/mlx5: Validate correct PD before prefetch MR
>       IB/core: Abort page fault handler silently during owning process exit
>       IB/mlx5: Set correct write permissions for implicit ODP MR
>       net/mlx5: ODP support for XRC transport is not enabled by default in FW
> 
> Parav Pandit (40):
>       RDMA: Rename port_callback to init_port
>       RDMA: Introduce and use rdma_device_to_ibdev()
>       IB/core: Simplify rdma cgroup registration
>       IB/umad: Avoid additional device reference during open()/close()
>       IB/umad: Do not check status of nonseekable_open()
>       IB/mlx5: Consider vlan of lower netdev for macvlan GID entries
>       devlink: Add WARN_ON to catch errors of not cleaning devlink objects
>       devlink: Return right error code in case of errors for region read
>       devlink: Fix list access without lock while reading region
>       RDMA/core: Use simpler device_del() instead of device_unregister()
>       RDMA/core: Introduce and use ib_setup_port_attrs()
>       RDMA/core: Move device addition deletion to device.c
>       net/mlx5: Simplify sriov enable/disable flow
>       net/mlx5: Simplify mlx5_sriov_is_enabled() by using pci core API
>       RDMA/core: Introduce ib_core_device to hold device
>       RDMA/core: Restrict sysfs entries view to init_net
>       RDMA/core: Implement compat device/sysfs tree in net namespace
>       RDMA/core: Support core port attributes in non init_net
>       RDMA/core: Add module param to disable device sharing among net ns
>       RDMA: Check net namespace access for uverbs, umad, cma and nldev
>       RDMA/core: Extend ib_device_get_by_index for net namespace
>       RDMA/core: Add interface to read device namespace sharing mode
>       RDMA/core: Add command to set ib_core device net namspace sharing mode
>       RDMA/core: Avoid freeing netdevs in disable_device()
>       RDMA/core: Introduce a helper function to change net namespace
> of rdma device
>       RDMA/core: Add a netlink command to change net namespace of rdma device
>       IB/core: Allow vlan link local address based RoCE GIDs
>       UBUNTU: SAUCE: net/mlx5_core: Add debugfs for flow steering
>       UBUNTU: SAUCE: net/mlx5: Add per-namespace flow table default
> miss action support
>       UBUNTU: SAUCE: net/mlx5: Create bypass and loopback flow
> steering namespaces for RDMA RX
>       UBUNTU: SAUCE: RDMA/mlx5: RDMA_RX flow type support for user applications
>       RDMA/core: Do not invoke init_port on compat devices
>       RDMA/rxe: Consider skb reserve space based on netdev of GID
>       IB/cm: Reduce dependency on gid attribute ndev check
>       RDMA: Introduce and use GID attr helper to read RoCE L2 fields
>       RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev
>       RDMA/core: Allow detaching gid attribute netdevice for RoCE
>       RDMA/core: Change system parameters callback from dumpit to doit
>       {IB, net}/mlx5: No need to typecast from void* to mlx5_ib_dev*
>       {IB,net}/mlx5: Constify rep ops functions pointers
> 
> Saeed Mahameed (2):
>       net/mlx5: Fix compilation warning in eq.c
>       net/mlx5: Fix broken hca cap offset
> 
> Shamir Rabinovitch (10):
>       IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs
>       IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl
> and cmd flows
>       IB/verbs: Add helper function rdma_udata_to_drv_context
>       IB/{hw,sw}: Remove 'uobject->context' dependency in object creation APIs
>       IB: ucontext should be set properly for all cmd & ioctl paths
>       IB: Pass uverbs_attr_bundle down uobject destroy path
>       IB: Pass uverbs_attr_bundle down ib_x destroy path
>       IB: Remove 'uobject->context' dependency in object destroy APIs
>       IB: Pass only ib_udata in function prototypes
>       RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in
> ib_uverbs_get_context
> 
> Steve Wise (1):
>       RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support
> 
> Vu Pham (2):
>       UBUNTU: SAUCE: RDMA/mlx5: Set port state to NOP for invalid port_num
>       UBUNTU: SAUCE: net/mlx5: Support modifying max_sfs
> 
> Wen-chien Jesse Sung (1):
>       UBUNTU: [Config] updates for linux-bluefield
> 
> Yevgeny Kliteynik (2):
>       net/mlx5: Geneve, Add basic Geneve encap/decap flow table capabilities
>       net/mlx5: Geneve, Add flow table capabilities for Geneve decap
> with TLV options
> 
> Yishai Hadas (12):
>       IB/mlx5: DEVX handling for indirection MKEY
>       IB/mlx5: Manage indirection mkey upon DEVX flow for ODP
>       IB/mlx5: Add support for ODP for DEVX indirection mkey
>       IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD
>       IB/mlx5: Introduce async DEVX obj query API
>       IB/mlx5: Implement the file ops of DEVX async command FD
>       IB/mlx5: Implement DEVX hot unplug for async command FD
>       IB/mlx5: Fix bad flow upon DEVX mkey creation
>       IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT
>       IB/mlx5: Verify DEVX general object type correctly
>       net/mlx5: Set completion EQs as shared resources
>       net/mlx5: Fix mlx5_core_destroy_cq() error flow
> 
> root (1):
>       UBUNTU: SAUCE: net/mlx5: Expose eswitch encap mode
> 
>  .clang-format                                      |    2 +
>  Documentation/networking/devlink-health.txt        |   86 +
>  Documentation/process/coding-style.rst             |   38 +-
>  .../abi/5.0.0-1002.11/arm64/bluefield.modules      |   13 +-
>  debian.bluefield/config/annotations                |   11 +
>  debian.bluefield/config/config.common.ubuntu       |   30 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c         |    8 +-
>  drivers/infiniband/Kconfig                         |   15 +-
>  drivers/infiniband/core/Makefile                   |    4 +-
>  drivers/infiniband/core/addr.c                     |    1 +
>  drivers/infiniband/core/cache.c                    |  242 ++-
>  drivers/infiniband/core/cgroup.c                   |    5 +-
>  drivers/infiniband/core/cm.c                       |   52 +-
>  drivers/infiniband/core/cma.c                      |  107 +-
>  drivers/infiniband/core/core_priv.h                |   47 +-
>  drivers/infiniband/core/cq.c                       |   21 +-
>  drivers/infiniband/core/device.c                   | 1933 +++++++++++++++-----
>  drivers/infiniband/core/iwcm.c                     |    6 +-
>  drivers/infiniband/core/mad.c                      |    4 +-
>  drivers/infiniband/core/netlink.c                  |    4 +-
>  drivers/infiniband/core/nldev.c                    |  605 ++++--
>  drivers/infiniband/core/rdma_core.c                |  102 +-
>  drivers/infiniband/core/rdma_core.h                |   13 +-
>  drivers/infiniband/core/restrack.c                 |  210 ++-
>  drivers/infiniband/core/restrack.h                 |   28 +
>  drivers/infiniband/core/security.c                 |   39 +-
>  drivers/infiniband/core/sysfs.c                    |  163 +-
>  drivers/infiniband/core/umem.c                     |   13 +-
>  drivers/infiniband/core/umem_odp.c                 |    2 +-
>  drivers/infiniband/core/user_mad.c                 |   62 +-
>  drivers/infiniband/core/uverbs.h                   |    3 +-
>  drivers/infiniband/core/uverbs_cmd.c               |  156 +-
>  drivers/infiniband/core/uverbs_ioctl.c             |   26 +-
>  drivers/infiniband/core/uverbs_main.c              |   69 +-
>  drivers/infiniband/core/uverbs_std_types.c         |   52 +-
>  .../infiniband/core/uverbs_std_types_counters.c    |    5 +-
>  drivers/infiniband/core/uverbs_std_types_cq.c      |   12 +-
>  drivers/infiniband/core/uverbs_std_types_dm.c      |    9 +-
>  .../infiniband/core/uverbs_std_types_flow_action.c |    5 +-
>  drivers/infiniband/core/uverbs_std_types_mr.c      |    9 +-
>  drivers/infiniband/core/uverbs_uapi.c              |   15 +-
>  drivers/infiniband/core/verbs.c                    |  224 +--
>  drivers/infiniband/hw/bnxt_re/ib_verbs.c           |  235 +--
>  drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   46 +-
>  drivers/infiniband/hw/bnxt_re/main.c               |   20 +-
>  drivers/infiniband/hw/bnxt_re/qplib_fp.c           |   12 +-
>  drivers/infiniband/hw/bnxt_re/qplib_fp.h           |    4 +-
>  drivers/infiniband/hw/bnxt_re/qplib_sp.c           |   12 +-
>  drivers/infiniband/hw/bnxt_re/qplib_sp.h           |    4 +-
>  drivers/infiniband/hw/cxgb3/iwch.c                 |    2 +-
>  drivers/infiniband/hw/cxgb3/iwch_provider.c        |  105 +-
>  drivers/infiniband/hw/cxgb4/cq.c                   |   17 +-
>  drivers/infiniband/hw/cxgb4/device.c               |    2 +-
>  drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |   19 +-
>  drivers/infiniband/hw/cxgb4/mem.c                  |    9 +-
>  drivers/infiniband/hw/cxgb4/provider.c             |   70 +-
>  drivers/infiniband/hw/cxgb4/qp.c                   |   47 +-
>  drivers/infiniband/hw/hfi1/sysfs.c                 |   16 +-
>  drivers/infiniband/hw/hfi1/verbs.c                 |    2 +-
>  drivers/infiniband/hw/hns/Kconfig                  |    1 -
>  drivers/infiniband/hw/hns/hns_roce_ah.c            |   36 +-
>  drivers/infiniband/hw/hns/hns_roce_cq.c            |   42 +-
>  drivers/infiniband/hw/hns/hns_roce_db.c            |    6 +-
>  drivers/infiniband/hw/hns/hns_roce_device.h        |   39 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   45 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.h         |    2 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |   34 +-
>  drivers/infiniband/hw/hns/hns_roce_main.c          |   63 +-
>  drivers/infiniband/hw/hns/hns_roce_mr.c            |   13 +-
>  drivers/infiniband/hw/hns/hns_roce_pd.c            |   26 +-
>  drivers/infiniband/hw/hns/hns_roce_qp.c            |   26 +-
>  drivers/infiniband/hw/hns/hns_roce_srq.c           |   59 +-
>  drivers/infiniband/hw/i40iw/i40iw_cm.c             |    3 +-
>  drivers/infiniband/hw/i40iw/i40iw_utils.c          |    1 -
>  drivers/infiniband/hw/i40iw/i40iw_verbs.c          |  143 +-
>  drivers/infiniband/hw/mlx4/Kconfig                 |    1 -
>  drivers/infiniband/hw/mlx4/ah.c                    |  103 +-
>  drivers/infiniband/hw/mlx4/cq.c                    |   55 +-
>  drivers/infiniband/hw/mlx4/doorbell.c              |    8 +-
>  drivers/infiniband/hw/mlx4/mad.c                   |   33 +-
>  drivers/infiniband/hw/mlx4/main.c                  |   82 +-
>  drivers/infiniband/hw/mlx4/mlx4_ib.h               |   35 +-
>  drivers/infiniband/hw/mlx4/mr.c                    |   20 +-
>  drivers/infiniband/hw/mlx4/qp.c                    |  128 +-
>  drivers/infiniband/hw/mlx4/srq.c                   |   67 +-
>  drivers/infiniband/hw/mlx5/Kconfig                 |    1 -
>  drivers/infiniband/hw/mlx5/ah.c                    |   33 +-
>  drivers/infiniband/hw/mlx5/cmd.c                   |  192 +-
>  drivers/infiniband/hw/mlx5/cmd.h                   |   10 +-
>  drivers/infiniband/hw/mlx5/cong.c                  |   15 +-
>  drivers/infiniband/hw/mlx5/cq.c                    |   60 +-
>  drivers/infiniband/hw/mlx5/devx.c                  |  532 +++++-
>  drivers/infiniband/hw/mlx5/doorbell.c              |    6 +-
>  drivers/infiniband/hw/mlx5/flow.c                  |  108 +-
>  drivers/infiniband/hw/mlx5/ib_rep.c                |  135 +-
>  drivers/infiniband/hw/mlx5/ib_rep.h                |   31 +-
>  drivers/infiniband/hw/mlx5/mad.c                   |   11 +-
>  drivers/infiniband/hw/mlx5/main.c                  |  979 ++++++----
>  drivers/infiniband/hw/mlx5/mem.c                   |    5 +-
>  drivers/infiniband/hw/mlx5/mlx5_ib.h               |  165 +-
>  drivers/infiniband/hw/mlx5/mr.c                    |  217 +--
>  drivers/infiniband/hw/mlx5/odp.c                   |  361 +++-
>  drivers/infiniband/hw/mlx5/qp.c                    |  425 +++--
>  drivers/infiniband/hw/mlx5/srq.c                   |   87 +-
>  drivers/infiniband/hw/mlx5/srq.h                   |    4 +-
>  drivers/infiniband/hw/mlx5/srq_cmd.c               |   24 +-
>  drivers/infiniband/hw/mthca/mthca_main.c           |    2 +-
>  drivers/infiniband/hw/mthca/mthca_provider.c       |  274 ++-
>  drivers/infiniband/hw/mthca/mthca_qp.c             |   13 +-
>  drivers/infiniband/hw/mthca/mthca_srq.c            |   21 +-
>  drivers/infiniband/hw/nes/Kconfig                  |    2 +-
>  drivers/infiniband/hw/nes/nes_cm.c                 |    3 +-
>  drivers/infiniband/hw/nes/nes_verbs.c              |  153 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_ah.c           |   32 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_ah.h           |    6 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |   18 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_hw.h           |    6 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_main.c         |   24 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |  254 ++-
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |   29 +-
>  drivers/infiniband/hw/qedr/main.c                  |   31 +-
>  drivers/infiniband/hw/qedr/qedr_roce_cm.c          |   11 +-
>  drivers/infiniband/hw/qedr/verbs.c                 |  188 +-
>  drivers/infiniband/hw/qedr/verbs.h                 |   31 +-
>  drivers/infiniband/hw/qib/qib_sysfs.c              |   18 +-
>  drivers/infiniband/hw/qib/qib_verbs.c              |    2 +-
>  drivers/infiniband/hw/usnic/usnic_ib_main.c        |    6 +-
>  drivers/infiniband/hw/usnic/usnic_ib_sysfs.c       |   26 +-
>  drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |   57 +-
>  drivers/infiniband/hw/usnic/usnic_ib_verbs.h       |   18 +-
>  drivers/infiniband/hw/usnic/usnic_uiom.c           |    3 +-
>  drivers/infiniband/hw/usnic/usnic_uiom.h           |    3 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |   19 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |   34 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c       |    7 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |    9 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c      |   47 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c    |  140 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h    |   33 +-
>  drivers/infiniband/sw/rdmavt/ah.c                  |   38 +-
>  drivers/infiniband/sw/rdmavt/ah.h                  |    8 +-
>  drivers/infiniband/sw/rdmavt/cq.c                  |    7 +-
>  drivers/infiniband/sw/rdmavt/cq.h                  |    3 +-
>  drivers/infiniband/sw/rdmavt/mmap.c                |   16 +-
>  drivers/infiniband/sw/rdmavt/mmap.h                |    6 +-
>  drivers/infiniband/sw/rdmavt/mr.c                  |   10 +-
>  drivers/infiniband/sw/rdmavt/mr.h                  |    7 +-
>  drivers/infiniband/sw/rdmavt/pd.c                  |   30 +-
>  drivers/infiniband/sw/rdmavt/pd.h                  |    6 +-
>  drivers/infiniband/sw/rdmavt/qp.c                  |    6 +-
>  drivers/infiniband/sw/rdmavt/qp.h                  |    2 +-
>  drivers/infiniband/sw/rdmavt/srq.c                 |   48 +-
>  drivers/infiniband/sw/rdmavt/srq.h                 |    7 +-
>  drivers/infiniband/sw/rdmavt/vt.c                  |   37 +-
>  drivers/infiniband/sw/rxe/rxe.c                    |   41 +-
>  drivers/infiniband/sw/rxe/rxe.h                    |   14 +-
>  drivers/infiniband/sw/rxe/rxe_cq.c                 |   10 +-
>  drivers/infiniband/sw/rxe/rxe_loc.h                |   18 +-
>  drivers/infiniband/sw/rxe/rxe_mmap.c               |   14 +-
>  drivers/infiniband/sw/rxe/rxe_mr.c                 |    2 +-
>  drivers/infiniband/sw/rxe/rxe_net.c                |   89 +-
>  drivers/infiniband/sw/rxe/rxe_net.h                |    2 +-
>  drivers/infiniband/sw/rxe/rxe_pool.c               |   81 +-
>  drivers/infiniband/sw/rxe/rxe_pool.h               |    4 +
>  drivers/infiniband/sw/rxe/rxe_qp.c                 |   15 +-
>  drivers/infiniband/sw/rxe/rxe_queue.c              |   22 +-
>  drivers/infiniband/sw/rxe/rxe_queue.h              |   15 +-
>  drivers/infiniband/sw/rxe/rxe_srq.c                |   14 +-
>  drivers/infiniband/sw/rxe/rxe_sysfs.c              |   36 +-
>  drivers/infiniband/sw/rxe/rxe_verbs.c              |  173 +-
>  drivers/infiniband/sw/rxe/rxe_verbs.h              |   11 +-
>  drivers/infiniband/ulp/ipoib/ipoib_main.c          |    4 +-
>  drivers/infiniband/ulp/srp/ib_srp.c                |    5 +-
>  drivers/media/pci/intel/ipu3/ipu3-cio2.c           |    4 +-
>  drivers/net/ethernet/mellanox/mlx5/core/Makefile   |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/cmd.c      |   55 +-
>  drivers/net/ethernet/mellanox/mlx5/core/cq.c       |    9 +-
>  drivers/net/ethernet/mellanox/mlx5/core/ecpf.c     |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en.h       |   18 +-
>  .../ethernet/mellanox/mlx5/core/en/monitor_stats.c |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en/port.c  |  139 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en/port.h  |   16 +-
>  .../net/ethernet/mellanox/mlx5/core/en/reporter.h  |   15 +
>  .../ethernet/mellanox/mlx5/core/en/reporter_tx.c   |  356 ++++
>  .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |  281 ++-
>  drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  245 +--
>  drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |   15 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en_rep.h   |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en_tx.c    |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/eq.c       |   28 +-
>  drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |   11 +
>  drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |    7 +-
>  .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |   38 +-
>  drivers/net/ethernet/mellanox/mlx5/core/events.c   |   75 +
>  .../net/ethernet/mellanox/mlx5/core/fpga/core.c    |    2 -
>  drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |   14 +-
>  drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |  271 ++-
>  drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |   18 +-
>  .../net/ethernet/mellanox/mlx5/core/fs_debugfs.c   | 1324 ++++++++++++++
>  .../net/ethernet/mellanox/mlx5/core/fs_debugfs.h   |  109 ++
>  drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h   |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/mad.c      |   75 -
>  drivers/net/ethernet/mellanox/mlx5/core/main.c     |   89 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/mdev.c  |   26 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/sf.c    |  153 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/sf.h    |    6 +-
>  .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/mr.c       |   11 +-
>  drivers/net/ethernet/mellanox/mlx5/core/port.c     |  106 --
>  drivers/net/ethernet/mellanox/mlx5/core/qp.c       |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/rdma.c     |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/sriov.c    |   51 +-
>  drivers/net/ethernet/mellanox/mlx5/core/transobj.c |   18 +-
>  include/linux/cgroup_rdma.h                        |    2 +-
>  include/linux/mlx5/device.h                        |    5 +
>  include/linux/mlx5/driver.h                        |   40 +-
>  include/linux/mlx5/eswitch.h                       |   32 +-
>  include/linux/mlx5/fs.h                            |    2 +
>  include/linux/mlx5/mlx5_ifc.h                      |  213 ++-
>  include/linux/mlx5/port.h                          |   30 +-
>  include/linux/mlx5/qp.h                            |    3 +-
>  include/linux/mlx5/transobj.h                      |    3 +
>  include/linux/mlx5/vport.h                         |    3 +-
>  include/linux/scatterlist.h                        |   49 +-
>  include/net/devlink.h                              |  175 +-
>  include/net/flow_offload.h                         |    2 +-
>  include/rdma/ib_cache.h                            |    4 +
>  include/rdma/ib_sa.h                               |   13 +
>  include/rdma/ib_umem.h                             |    8 +-
>  include/rdma/ib_umem_odp.h                         |   26 +-
>  include/rdma/ib_verbs.h                            |  544 ++++--
>  include/rdma/rdma_netlink.h                        |   11 +
>  include/rdma/rdma_vt.h                             |    8 +-
>  include/rdma/restrack.h                            |   58 +-
>  include/rdma/uverbs_ioctl.h                        |   18 +
>  include/rdma/uverbs_std_types.h                    |   28 +-
>  include/rdma/uverbs_types.h                        |   19 +-
>  include/trace/events/devlink.h                     |   62 +
>  include/uapi/linux/devlink.h                       |   35 +
>  include/uapi/rdma/ib_user_verbs.h                  |    2 +
>  include/uapi/rdma/mlx5-abi.h                       |    2 +
>  include/uapi/rdma/mlx5_user_ioctl_cmds.h           |   20 +
>  include/uapi/rdma/mlx5_user_ioctl_verbs.h          |   13 +
>  include/uapi/rdma/rdma_netlink.h                   |   70 +-
>  kernel/cgroup/rdma.c                               |    5 +-
>  lib/scatterlist.c                                  |   26 +
>  net/core/devlink.c                                 | 1593 ++++++++++++++--
>  net/core/ethtool.c                                 |    7 +
>  scripts/checkpatch.pl                              |   13 -
>  249 files changed, 12785 insertions(+), 5840 deletions(-)
>  create mode 100644 Documentation/networking/devlink-health.txt
>  create mode 100644 drivers/infiniband/core/restrack.h
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter.h
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.c
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.h
>  delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/mad.c
>
Wen-chien Jesse Sung Oct. 21, 2019, 1:11 p.m. UTC | #2
On Fri, Oct 18, 2019 at 10:27 PM Stefan Bader
<stefan.bader@canonical.com> wrote:
>
> On 18.10.19 14:57, Jesse Sung wrote:
> > Buglink: https://launchpad.net/bugs/1848324
> >
> > SRU Justification
> >
> > * Impact:
> > Some issues found while Mellanox verifying linux-bluefield. These are
> > the patches they sent to address those issues.
> >
> > * Risk of Regression:
> > Low. Patches are from Mellanox and will be only apply to linux-bluefield.
>                         ^ Given the size and the fact most of it had been from
>                           them before, I am not sure this qualifies as a measure
>                           of quality.
>                           Also only applying to certain kernel does not change
>                           the risk of regression (for that kernel).
>
> So you can argue this has been verified in the target environment and no new
> issues were found. Still I would think the risk rather a medium from the delta.

Mellanox has already tested the patches on target platforms (although
Mellanox applied them on top of 5.0.0-1000 instead of 5.0.0-1003).
Issues found in the previous release were all fixed, and no new issues
were found. Besides, most of them are cherry-picks from upstream. Yes
the size is scary, but the risk should be relatively low given the
positive test result I would argue. :)

>
> And just to point it out, this missed the deadline for the next cycle. If there
> are reasons to be in that cycle you should bring them up explicitly.

Since these patches are one of the most important things in the next
release (which is  just around the cornor), please consider to have
them in this cycle in order to reduce the needs for intermediate
kernels.

Thanks,
Jesse

>
> -Stefan
>
> >
> > ----------------------------------------------------------------
> > The following changes since commit e73b251209f5e1de8daf75941af6ac1f7cbf230f:
> >
> >   UBUNTU: Ubuntu-bluefield-5.0.0-1003.12 (2019-10-03 11:06:04 -0700)
> >
> > are available in the Git repository at:
> >
> >   git://git.launchpad.net/~wenchien/+git/ubuntu-kernel bluefield-20191016
> >
> > for you to fetch changes up to c42e649a6e6cca5d06207682e1f009ec7dfa24bc:
> >
> >   UBUNTU: [Config] updates for linux-bluefield (2019-10-18 20:38:45 +0800)
> >
> > ----------------------------------------------------------------
> > Ariel Levkovich (8):
> >       net/mlx5: Expose SW ICM related device memory capabilities
> >       net/mlx5: Expose TIR ICM address in command outbox
> >       net/mlx5: Introduce new TIR creation core API
> >       IB/mlx5: Expose TIR ICM address to user space
> >       IB/mlx5: Support device memory type attribute
> >       IB/mlx5: Warn on allocated MEMIC buffers during cleanup
> >       IB/mlx5: Add steering SW ICM device memory type
> >       IB/mlx5: Device resource control for privileged DEVX user
> >
> > Aya Levin (15):
> >       devlink: Add Documentation/networking/devlink-health.txt
> >       net/mlx5: Refactor queries to speed fields in Port Type and Speed register
> >       net/mlx5: Add new fields to Port Type and Speed register
> >       net/mlx5: Add support to ext_* fields introduced in Port Type
> > and Speed register
> >       IB/mlx5: Add support for 50Gbps per lane link modes
> >       net/mlx5: ethtool, Add ethtool support for 50Gbps per lane link modes
> >       devlink: Rename devlink health attributes
> >       devlink: Modify reply of DEVLINK_CMD_HEALTH_REPORTER_GET
> >       IB/mlx5: Fix mapping of link-mode to IB width and speed
> >       net/mlx5: ethtool, Fix type analysis of advertised link-mode
> >       net/mlx5: ethtool, Allow legacy link-modes configuration via
> > non-extended ptys
> >       net/mlx5: Expose MPEIN (Management PCIE INfo) register layout
> >       net/mlx5: Handle event of power detection in the PCIE slot
> >       IB/mlx5: Restrict 'DELAY_DROP_TIMEOUT' subtype to Ethernet interfaces
> >       net/mlx5: Enable general events on all interfaces
> >
> > Bodong Wang (4):
> >       UBUNTU: SAUCE: IB/mlx5: Check both CONFIG_ARM and CONFIG_ARM64
> >       net/mlx5: Fix peer pf disable hca command
> >       UBUNTU: SAUCE: net/mlx5: Check eswitch manager for all relevant FS command
> >       UBUNTU: SAUCE: net/mlx5: E-Switch, Have vport placeholder for
> > ECPF eswich manager
> >
> > Eli Britstein (1):
> >       flow_offload: Fix flow action infrastructure
> >
> > Eran Ben Elisha (10):
> >       devlink: Add health buffer support
> >       devlink: Add health reporter create/destroy functionality
> >       devlink: Add health report functionality
> >       devlink: Add health get command
> >       devlink: Add health set command
> >       devlink: Add health recover command
> >       devlink: Add health diagnose command
> >       devlink: Add health dump {get,clear} commands
> >       net/mlx5e: Add TX reporter support
> >       net/mlx5e: Add TX timeout support for mlx5e TX reporter
> >
> > Gal Pressman (1):
> >       RDMA: Add indication for in kernel API support to IB device
> >
> > Greg Kroah-Hartman (1):
> >       infiniband: mlx5: no need to check return value of
> > debugfs_create functions
> >
> > Huy Nguyen (1):
> >       net/mlx5: Support ndo bridge_setlink and getlink
> >
> > Jakub Kicinski (4):
> >       ethtool: add compat for devlink info
> >       devlink: fix condition for compat device info
> >       devlink: don't allocate attrs on the stack
> >       devlink: add device information API
> >
> > Jason Gunthorpe (29):
> >       IB/{core,hw}: Have ib_umem_get extract the ib_ucontext from ib_udata
> >       RDMA/device: Use __ib_device_get_by_name() in ib_device_rename()
> >       coding-style: Clarify the expectations around bool
> >       net/mlx5: Make mlx5_cmd_exec_cb() a safe API
> >       RDMA/device: Check that the rename is nop under the lock
> >       RDMA/device: Ensure that security memory is always freed
> >       RDMA/device: Call ib_cache_release_one() only from ib_device_release()
> >       RDMA/device: Get rid of reg_state
> >       RDMA/device: Use an ida instead of a free page in alloc_name
> >       RDMA/devices: Use xarray to store the clients
> >       RDMA/devices: Use xarray to store the client_data
> >       RDMA/devices: Re-organize device.c locking
> >       lib/scatterlist: Provide a DMA page iterator
> >       RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq
> >       RDMA: Add and use rdma_for_each_port
> >       RDMA/device: Consolidate ib_device per_port data into one place
> >       RDMA/cache: Move the cache per-port data into the main ib_port_data
> >       RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev
> >       RDMA/device: Add ib_device_get_by_netdev()
> >       RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding
> >       RDMA/device: Provide APIs from the core code to help unregistration
> >       RDMA/rxe: Use driver_unregister and new unregistration API
> >       RDMA/rxe: Add ib_device_get_by_name() and use it in rxe
> >       RDMA/rxe: Close a race after ib_register_device
> >       IB/mlx5: Remove references to uboject->context
> >       IB: When attrs.udata/ufile is available use that instead of uobject
> >       RDMA/drivers: Convert easy drivers to use ib_device_set_netdev()
> >       RDMA: Remove rdma_user_mmap_page
> >       RDMA/core: Clear out the udata before error unwind
> >
> > Jianbo Liu (1):
> >       UBUNTU: SAUCE: RDMA/mlx5: Add vport metadata matching for IB representors
> >
> > Leon Romanovsky (49):
> >       RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING
> >       RDMA/core: Don't depend device ODP capabilities on kconfig option
> >       RDMA/mlx5: Introduce and reuse helper to identify ODP MR
> >       RDMA/mlx5: Embed into the code flow the ODP config option
> >       RDMA/mlx5: Delete declaration of already removed function
> >       RDMA: Clear PD objects during their allocation
> >       RDMA: Clear CQ objects during their allocation
> >       RDMA: Clear CTX objects during their allocation
> >       RDMA/mad: Reduce MAD scope to mlx5_ib only
> >       RDMA: Provide safe ib_alloc_device() function
> >       RDMA/nldev: Dynamically generate restrack dumpit callbacks
> >       RDMA/nldev: Factor out the PID namespace check
> >       RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks
> >       RDMA/core: Simplify restrack interface
> >       RDMA/restrack: Refactor user/kernel restrack additions
> >       RDMA/core: Use the ops infrastructure to keep all callbacks in one place
> >       RDMA/cma: Remove CM_ID statistics provided by rdma-cm module
> >       RDMA/core: Share driver structure size with core
> >       RDMA: Handle PD allocations by IB/core
> >       net/mlx5: Align ODP capability function with netdev coding style
> >       RDMA/restrack: Convert internal DB from hash to XArray
> >       RDMA/restrack: Translate from ID to restrack object
> >       RDMA/nldev: Add resource tracker doit callback
> >       RDMA/restrack: Reduce scope of synchronization lock while updating DB
> >       RDMA/restrack: Hide restrack DB from IB/core
> >       net/mlx5: Factor out HCA capabilities functions
> >       RDMA/restrack: Prepare restrack_root to addition of extra fields per-type
> >       RDMA/nldev: Share with user-space object IDs
> >       RDMA/nldev: Provide parent IDs for PD, MR and QP objects
> >       RDMA/nldev: Connect QP number to .doit callback
> >       RDMA/nldev: Don't expose number of not-visible entries
> >       net/mlx5e: Add missing static function annotation
> >       net/mlx5: Delete unused FPGA QPN variable
> >       RDMA/iwcm: Fix string truncation error
> >       RDMA: Handle ucontext allocations by IB/core
> >       RDMA/uverbs: Don't do double free of allocated PD
> >       RDMA/netlink: Remove unused data structure
> >       RDMA/core: Don't compare specific bit after boolean AND
> >       RDMA/cma: Set proper port number as index
> >       RDMA/mlx5: Cleanup WQE page fault handler
> >       RDMA/cm: Remove useless zeroing of static global variable
> >       RDMA/cm: Move debug counters to be under relevant IB device
> >       RDMA/nldev: Return device protocol
> >       RDMA/core: Support object allocation in atomic context
> >       RDMA: Handle AH allocations by IB/core
> >       RDMA: Handle SRQ allocations by IB/core
> >       RDMA/rdmavt: Catch use-after-free access of AH structures
> >       RDMA/mlx5: Remove MAYEXEC flag
> >       RDMA/device: Don't fire uevent before device is fully initialized
> >
> > Maor Gottlieb (3):
> >       IB/mlx5: Don't override existing ip_protocol
> >       RDMA/mlx5: Add query e-switch vport context to devx white list
> >       UBUNTU: SAUCE: RDMA/mlx5: Consider eswitch encap mode
> >
> > Mark Bloch (18):
> >       RDMA/mlx5: Fix memory leak in case we fail to add an IB device
> >       net/mlx5: E-Switch, add a new prio to be used by the RDMA side
> >       RDMA/mlx5: Move netdev info into the port struct
> >       RDMA/mlx5: Free IB device on remove
> >       RDMA/mlx5: Move ports allocation to outside of INIT stage
> >       RDMA/mlx5: Use correct size for device resources
> >       RDMA/mlx5: Move rep into port struct
> >       RDMA/mlx5: Move default representors SQ steering to rule to modify QP
> >       RDMA/mlx5: Refactor netdev affinity code
> >       RDMA/mlx5: Move SMI caps logic
> >       RDMA/mlx5: Move to single device multiport ports in switchdev mode
> >       RDMA/mlx5: Remove VF representor profile
> >       RDMA/mlx5: Access the prio bypass inside the FDB flow table namespace
> >       RDMA/mlx5: Create flow table with max size supported
> >       RDMA/mlx5: Allow inserting a steering rule to the FDB
> >       RDMA/mlx5: Allow DEVX and raw creation flow on reps
> >       RDMA/mlx5: Initialize roce port info before multiport master init
> >       RDMA/mlx5: Don't create IB representors when in multiport RoCE mode
> >
> > Mark Zhang (2):
> >       UBUNTU: SAUCE: net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap
> >       UBUNTU: SAUCE: IB/core: udp_sport support for sa_path and rdma_ah
> >
> > Moni Shoua (17):
> >       net/mlx5: Add XRC transport to ODP device capabilities layout
> >       net/mlx5: Set ODP SRQ support in firmware
> >       IB/mlx5: Fix the locking of SRQ objects in ODP events
> >       IB/core: Allocate a bit for SRQ ODP support
> >       IB/uverbs: Expose XRC ODP device capabilities
> >       IB/mlx5: Remove useless check in ODP handler
> >       IB/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature
> >       IB/mlx5: Add XRC initiator ODP support
> >       IB/mlx5: Let read user wqe also from SRQ buffer
> >       IB/mlx5: Add ODP SRQ support
> >       IB/mlx5: Advertise SRQ ODP support for supported transports
> >       IB/mlx5: Advertise XRC ODP support
> >       IB/mlx5: Protect against prefetch of invalid MR
> >       IB/mlx5: Validate correct PD before prefetch MR
> >       IB/core: Abort page fault handler silently during owning process exit
> >       IB/mlx5: Set correct write permissions for implicit ODP MR
> >       net/mlx5: ODP support for XRC transport is not enabled by default in FW
> >
> > Parav Pandit (40):
> >       RDMA: Rename port_callback to init_port
> >       RDMA: Introduce and use rdma_device_to_ibdev()
> >       IB/core: Simplify rdma cgroup registration
> >       IB/umad: Avoid additional device reference during open()/close()
> >       IB/umad: Do not check status of nonseekable_open()
> >       IB/mlx5: Consider vlan of lower netdev for macvlan GID entries
> >       devlink: Add WARN_ON to catch errors of not cleaning devlink objects
> >       devlink: Return right error code in case of errors for region read
> >       devlink: Fix list access without lock while reading region
> >       RDMA/core: Use simpler device_del() instead of device_unregister()
> >       RDMA/core: Introduce and use ib_setup_port_attrs()
> >       RDMA/core: Move device addition deletion to device.c
> >       net/mlx5: Simplify sriov enable/disable flow
> >       net/mlx5: Simplify mlx5_sriov_is_enabled() by using pci core API
> >       RDMA/core: Introduce ib_core_device to hold device
> >       RDMA/core: Restrict sysfs entries view to init_net
> >       RDMA/core: Implement compat device/sysfs tree in net namespace
> >       RDMA/core: Support core port attributes in non init_net
> >       RDMA/core: Add module param to disable device sharing among net ns
> >       RDMA: Check net namespace access for uverbs, umad, cma and nldev
> >       RDMA/core: Extend ib_device_get_by_index for net namespace
> >       RDMA/core: Add interface to read device namespace sharing mode
> >       RDMA/core: Add command to set ib_core device net namspace sharing mode
> >       RDMA/core: Avoid freeing netdevs in disable_device()
> >       RDMA/core: Introduce a helper function to change net namespace
> > of rdma device
> >       RDMA/core: Add a netlink command to change net namespace of rdma device
> >       IB/core: Allow vlan link local address based RoCE GIDs
> >       UBUNTU: SAUCE: net/mlx5_core: Add debugfs for flow steering
> >       UBUNTU: SAUCE: net/mlx5: Add per-namespace flow table default
> > miss action support
> >       UBUNTU: SAUCE: net/mlx5: Create bypass and loopback flow
> > steering namespaces for RDMA RX
> >       UBUNTU: SAUCE: RDMA/mlx5: RDMA_RX flow type support for user applications
> >       RDMA/core: Do not invoke init_port on compat devices
> >       RDMA/rxe: Consider skb reserve space based on netdev of GID
> >       IB/cm: Reduce dependency on gid attribute ndev check
> >       RDMA: Introduce and use GID attr helper to read RoCE L2 fields
> >       RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev
> >       RDMA/core: Allow detaching gid attribute netdevice for RoCE
> >       RDMA/core: Change system parameters callback from dumpit to doit
> >       {IB, net}/mlx5: No need to typecast from void* to mlx5_ib_dev*
> >       {IB,net}/mlx5: Constify rep ops functions pointers
> >
> > Saeed Mahameed (2):
> >       net/mlx5: Fix compilation warning in eq.c
> >       net/mlx5: Fix broken hca cap offset
> >
> > Shamir Rabinovitch (10):
> >       IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs
> >       IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl
> > and cmd flows
> >       IB/verbs: Add helper function rdma_udata_to_drv_context
> >       IB/{hw,sw}: Remove 'uobject->context' dependency in object creation APIs
> >       IB: ucontext should be set properly for all cmd & ioctl paths
> >       IB: Pass uverbs_attr_bundle down uobject destroy path
> >       IB: Pass uverbs_attr_bundle down ib_x destroy path
> >       IB: Remove 'uobject->context' dependency in object destroy APIs
> >       IB: Pass only ib_udata in function prototypes
> >       RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in
> > ib_uverbs_get_context
> >
> > Steve Wise (1):
> >       RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support
> >
> > Vu Pham (2):
> >       UBUNTU: SAUCE: RDMA/mlx5: Set port state to NOP for invalid port_num
> >       UBUNTU: SAUCE: net/mlx5: Support modifying max_sfs
> >
> > Wen-chien Jesse Sung (1):
> >       UBUNTU: [Config] updates for linux-bluefield
> >
> > Yevgeny Kliteynik (2):
> >       net/mlx5: Geneve, Add basic Geneve encap/decap flow table capabilities
> >       net/mlx5: Geneve, Add flow table capabilities for Geneve decap
> > with TLV options
> >
> > Yishai Hadas (12):
> >       IB/mlx5: DEVX handling for indirection MKEY
> >       IB/mlx5: Manage indirection mkey upon DEVX flow for ODP
> >       IB/mlx5: Add support for ODP for DEVX indirection mkey
> >       IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD
> >       IB/mlx5: Introduce async DEVX obj query API
> >       IB/mlx5: Implement the file ops of DEVX async command FD
> >       IB/mlx5: Implement DEVX hot unplug for async command FD
> >       IB/mlx5: Fix bad flow upon DEVX mkey creation
> >       IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT
> >       IB/mlx5: Verify DEVX general object type correctly
> >       net/mlx5: Set completion EQs as shared resources
> >       net/mlx5: Fix mlx5_core_destroy_cq() error flow
> >
> > root (1):
> >       UBUNTU: SAUCE: net/mlx5: Expose eswitch encap mode
> >
> >  .clang-format                                      |    2 +
> >  Documentation/networking/devlink-health.txt        |   86 +
> >  Documentation/process/coding-style.rst             |   38 +-
> >  .../abi/5.0.0-1002.11/arm64/bluefield.modules      |   13 +-
> >  debian.bluefield/config/annotations                |   11 +
> >  debian.bluefield/config/config.common.ubuntu       |   30 +-
> >  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c         |    8 +-
> >  drivers/infiniband/Kconfig                         |   15 +-
> >  drivers/infiniband/core/Makefile                   |    4 +-
> >  drivers/infiniband/core/addr.c                     |    1 +
> >  drivers/infiniband/core/cache.c                    |  242 ++-
> >  drivers/infiniband/core/cgroup.c                   |    5 +-
> >  drivers/infiniband/core/cm.c                       |   52 +-
> >  drivers/infiniband/core/cma.c                      |  107 +-
> >  drivers/infiniband/core/core_priv.h                |   47 +-
> >  drivers/infiniband/core/cq.c                       |   21 +-
> >  drivers/infiniband/core/device.c                   | 1933 +++++++++++++++-----
> >  drivers/infiniband/core/iwcm.c                     |    6 +-
> >  drivers/infiniband/core/mad.c                      |    4 +-
> >  drivers/infiniband/core/netlink.c                  |    4 +-
> >  drivers/infiniband/core/nldev.c                    |  605 ++++--
> >  drivers/infiniband/core/rdma_core.c                |  102 +-
> >  drivers/infiniband/core/rdma_core.h                |   13 +-
> >  drivers/infiniband/core/restrack.c                 |  210 ++-
> >  drivers/infiniband/core/restrack.h                 |   28 +
> >  drivers/infiniband/core/security.c                 |   39 +-
> >  drivers/infiniband/core/sysfs.c                    |  163 +-
> >  drivers/infiniband/core/umem.c                     |   13 +-
> >  drivers/infiniband/core/umem_odp.c                 |    2 +-
> >  drivers/infiniband/core/user_mad.c                 |   62 +-
> >  drivers/infiniband/core/uverbs.h                   |    3 +-
> >  drivers/infiniband/core/uverbs_cmd.c               |  156 +-
> >  drivers/infiniband/core/uverbs_ioctl.c             |   26 +-
> >  drivers/infiniband/core/uverbs_main.c              |   69 +-
> >  drivers/infiniband/core/uverbs_std_types.c         |   52 +-
> >  .../infiniband/core/uverbs_std_types_counters.c    |    5 +-
> >  drivers/infiniband/core/uverbs_std_types_cq.c      |   12 +-
> >  drivers/infiniband/core/uverbs_std_types_dm.c      |    9 +-
> >  .../infiniband/core/uverbs_std_types_flow_action.c |    5 +-
> >  drivers/infiniband/core/uverbs_std_types_mr.c      |    9 +-
> >  drivers/infiniband/core/uverbs_uapi.c              |   15 +-
> >  drivers/infiniband/core/verbs.c                    |  224 +--
> >  drivers/infiniband/hw/bnxt_re/ib_verbs.c           |  235 +--
> >  drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   46 +-
> >  drivers/infiniband/hw/bnxt_re/main.c               |   20 +-
> >  drivers/infiniband/hw/bnxt_re/qplib_fp.c           |   12 +-
> >  drivers/infiniband/hw/bnxt_re/qplib_fp.h           |    4 +-
> >  drivers/infiniband/hw/bnxt_re/qplib_sp.c           |   12 +-
> >  drivers/infiniband/hw/bnxt_re/qplib_sp.h           |    4 +-
> >  drivers/infiniband/hw/cxgb3/iwch.c                 |    2 +-
> >  drivers/infiniband/hw/cxgb3/iwch_provider.c        |  105 +-
> >  drivers/infiniband/hw/cxgb4/cq.c                   |   17 +-
> >  drivers/infiniband/hw/cxgb4/device.c               |    2 +-
> >  drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |   19 +-
> >  drivers/infiniband/hw/cxgb4/mem.c                  |    9 +-
> >  drivers/infiniband/hw/cxgb4/provider.c             |   70 +-
> >  drivers/infiniband/hw/cxgb4/qp.c                   |   47 +-
> >  drivers/infiniband/hw/hfi1/sysfs.c                 |   16 +-
> >  drivers/infiniband/hw/hfi1/verbs.c                 |    2 +-
> >  drivers/infiniband/hw/hns/Kconfig                  |    1 -
> >  drivers/infiniband/hw/hns/hns_roce_ah.c            |   36 +-
> >  drivers/infiniband/hw/hns/hns_roce_cq.c            |   42 +-
> >  drivers/infiniband/hw/hns/hns_roce_db.c            |    6 +-
> >  drivers/infiniband/hw/hns/hns_roce_device.h        |   39 +-
> >  drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   45 +-
> >  drivers/infiniband/hw/hns/hns_roce_hw_v1.h         |    2 +-
> >  drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |   34 +-
> >  drivers/infiniband/hw/hns/hns_roce_main.c          |   63 +-
> >  drivers/infiniband/hw/hns/hns_roce_mr.c            |   13 +-
> >  drivers/infiniband/hw/hns/hns_roce_pd.c            |   26 +-
> >  drivers/infiniband/hw/hns/hns_roce_qp.c            |   26 +-
> >  drivers/infiniband/hw/hns/hns_roce_srq.c           |   59 +-
> >  drivers/infiniband/hw/i40iw/i40iw_cm.c             |    3 +-
> >  drivers/infiniband/hw/i40iw/i40iw_utils.c          |    1 -
> >  drivers/infiniband/hw/i40iw/i40iw_verbs.c          |  143 +-
> >  drivers/infiniband/hw/mlx4/Kconfig                 |    1 -
> >  drivers/infiniband/hw/mlx4/ah.c                    |  103 +-
> >  drivers/infiniband/hw/mlx4/cq.c                    |   55 +-
> >  drivers/infiniband/hw/mlx4/doorbell.c              |    8 +-
> >  drivers/infiniband/hw/mlx4/mad.c                   |   33 +-
> >  drivers/infiniband/hw/mlx4/main.c                  |   82 +-
> >  drivers/infiniband/hw/mlx4/mlx4_ib.h               |   35 +-
> >  drivers/infiniband/hw/mlx4/mr.c                    |   20 +-
> >  drivers/infiniband/hw/mlx4/qp.c                    |  128 +-
> >  drivers/infiniband/hw/mlx4/srq.c                   |   67 +-
> >  drivers/infiniband/hw/mlx5/Kconfig                 |    1 -
> >  drivers/infiniband/hw/mlx5/ah.c                    |   33 +-
> >  drivers/infiniband/hw/mlx5/cmd.c                   |  192 +-
> >  drivers/infiniband/hw/mlx5/cmd.h                   |   10 +-
> >  drivers/infiniband/hw/mlx5/cong.c                  |   15 +-
> >  drivers/infiniband/hw/mlx5/cq.c                    |   60 +-
> >  drivers/infiniband/hw/mlx5/devx.c                  |  532 +++++-
> >  drivers/infiniband/hw/mlx5/doorbell.c              |    6 +-
> >  drivers/infiniband/hw/mlx5/flow.c                  |  108 +-
> >  drivers/infiniband/hw/mlx5/ib_rep.c                |  135 +-
> >  drivers/infiniband/hw/mlx5/ib_rep.h                |   31 +-
> >  drivers/infiniband/hw/mlx5/mad.c                   |   11 +-
> >  drivers/infiniband/hw/mlx5/main.c                  |  979 ++++++----
> >  drivers/infiniband/hw/mlx5/mem.c                   |    5 +-
> >  drivers/infiniband/hw/mlx5/mlx5_ib.h               |  165 +-
> >  drivers/infiniband/hw/mlx5/mr.c                    |  217 +--
> >  drivers/infiniband/hw/mlx5/odp.c                   |  361 +++-
> >  drivers/infiniband/hw/mlx5/qp.c                    |  425 +++--
> >  drivers/infiniband/hw/mlx5/srq.c                   |   87 +-
> >  drivers/infiniband/hw/mlx5/srq.h                   |    4 +-
> >  drivers/infiniband/hw/mlx5/srq_cmd.c               |   24 +-
> >  drivers/infiniband/hw/mthca/mthca_main.c           |    2 +-
> >  drivers/infiniband/hw/mthca/mthca_provider.c       |  274 ++-
> >  drivers/infiniband/hw/mthca/mthca_qp.c             |   13 +-
> >  drivers/infiniband/hw/mthca/mthca_srq.c            |   21 +-
> >  drivers/infiniband/hw/nes/Kconfig                  |    2 +-
> >  drivers/infiniband/hw/nes/nes_cm.c                 |    3 +-
> >  drivers/infiniband/hw/nes/nes_verbs.c              |  153 +-
> >  drivers/infiniband/hw/ocrdma/ocrdma_ah.c           |   32 +-
> >  drivers/infiniband/hw/ocrdma/ocrdma_ah.h           |    6 +-
> >  drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |   18 +-
> >  drivers/infiniband/hw/ocrdma/ocrdma_hw.h           |    6 +-
> >  drivers/infiniband/hw/ocrdma/ocrdma_main.c         |   24 +-
> >  drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |  254 ++-
> >  drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |   29 +-
> >  drivers/infiniband/hw/qedr/main.c                  |   31 +-
> >  drivers/infiniband/hw/qedr/qedr_roce_cm.c          |   11 +-
> >  drivers/infiniband/hw/qedr/verbs.c                 |  188 +-
> >  drivers/infiniband/hw/qedr/verbs.h                 |   31 +-
> >  drivers/infiniband/hw/qib/qib_sysfs.c              |   18 +-
> >  drivers/infiniband/hw/qib/qib_verbs.c              |    2 +-
> >  drivers/infiniband/hw/usnic/usnic_ib_main.c        |    6 +-
> >  drivers/infiniband/hw/usnic/usnic_ib_sysfs.c       |   26 +-
> >  drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |   57 +-
> >  drivers/infiniband/hw/usnic/usnic_ib_verbs.h       |   18 +-
> >  drivers/infiniband/hw/usnic/usnic_uiom.c           |    3 +-
> >  drivers/infiniband/hw/usnic/usnic_uiom.h           |    3 +-
> >  drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |   19 +-
> >  drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |   34 +-
> >  drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c       |    7 +-
> >  drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |    9 +-
> >  drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c      |   47 +-
> >  drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c    |  140 +-
> >  drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h    |   33 +-
> >  drivers/infiniband/sw/rdmavt/ah.c                  |   38 +-
> >  drivers/infiniband/sw/rdmavt/ah.h                  |    8 +-
> >  drivers/infiniband/sw/rdmavt/cq.c                  |    7 +-
> >  drivers/infiniband/sw/rdmavt/cq.h                  |    3 +-
> >  drivers/infiniband/sw/rdmavt/mmap.c                |   16 +-
> >  drivers/infiniband/sw/rdmavt/mmap.h                |    6 +-
> >  drivers/infiniband/sw/rdmavt/mr.c                  |   10 +-
> >  drivers/infiniband/sw/rdmavt/mr.h                  |    7 +-
> >  drivers/infiniband/sw/rdmavt/pd.c                  |   30 +-
> >  drivers/infiniband/sw/rdmavt/pd.h                  |    6 +-
> >  drivers/infiniband/sw/rdmavt/qp.c                  |    6 +-
> >  drivers/infiniband/sw/rdmavt/qp.h                  |    2 +-
> >  drivers/infiniband/sw/rdmavt/srq.c                 |   48 +-
> >  drivers/infiniband/sw/rdmavt/srq.h                 |    7 +-
> >  drivers/infiniband/sw/rdmavt/vt.c                  |   37 +-
> >  drivers/infiniband/sw/rxe/rxe.c                    |   41 +-
> >  drivers/infiniband/sw/rxe/rxe.h                    |   14 +-
> >  drivers/infiniband/sw/rxe/rxe_cq.c                 |   10 +-
> >  drivers/infiniband/sw/rxe/rxe_loc.h                |   18 +-
> >  drivers/infiniband/sw/rxe/rxe_mmap.c               |   14 +-
> >  drivers/infiniband/sw/rxe/rxe_mr.c                 |    2 +-
> >  drivers/infiniband/sw/rxe/rxe_net.c                |   89 +-
> >  drivers/infiniband/sw/rxe/rxe_net.h                |    2 +-
> >  drivers/infiniband/sw/rxe/rxe_pool.c               |   81 +-
> >  drivers/infiniband/sw/rxe/rxe_pool.h               |    4 +
> >  drivers/infiniband/sw/rxe/rxe_qp.c                 |   15 +-
> >  drivers/infiniband/sw/rxe/rxe_queue.c              |   22 +-
> >  drivers/infiniband/sw/rxe/rxe_queue.h              |   15 +-
> >  drivers/infiniband/sw/rxe/rxe_srq.c                |   14 +-
> >  drivers/infiniband/sw/rxe/rxe_sysfs.c              |   36 +-
> >  drivers/infiniband/sw/rxe/rxe_verbs.c              |  173 +-
> >  drivers/infiniband/sw/rxe/rxe_verbs.h              |   11 +-
> >  drivers/infiniband/ulp/ipoib/ipoib_main.c          |    4 +-
> >  drivers/infiniband/ulp/srp/ib_srp.c                |    5 +-
> >  drivers/media/pci/intel/ipu3/ipu3-cio2.c           |    4 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/Makefile   |    6 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/cmd.c      |   55 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/cq.c       |    9 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/ecpf.c     |    2 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/en.h       |   18 +-
> >  .../ethernet/mellanox/mlx5/core/en/monitor_stats.c |    2 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/en/port.c  |  139 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/en/port.h  |   16 +-
> >  .../net/ethernet/mellanox/mlx5/core/en/reporter.h  |   15 +
> >  .../ethernet/mellanox/mlx5/core/en/reporter_tx.c   |  356 ++++
> >  .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |  281 ++-
> >  drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  245 +--
> >  drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |   15 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/en_rep.h   |    2 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/en_tx.c    |    2 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/eq.c       |   28 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |   11 +
> >  drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |    7 +-
> >  .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |   38 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/events.c   |   75 +
> >  .../net/ethernet/mellanox/mlx5/core/fpga/core.c    |    2 -
> >  drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |   14 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |  271 ++-
> >  drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |   18 +-
> >  .../net/ethernet/mellanox/mlx5/core/fs_debugfs.c   | 1324 ++++++++++++++
> >  .../net/ethernet/mellanox/mlx5/core/fs_debugfs.h   |  109 ++
> >  drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h   |    2 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/mad.c      |   75 -
> >  drivers/net/ethernet/mellanox/mlx5/core/main.c     |   89 +-
> >  .../net/ethernet/mellanox/mlx5/core/meddev/mdev.c  |   26 +-
> >  .../net/ethernet/mellanox/mlx5/core/meddev/sf.c    |  153 +-
> >  .../net/ethernet/mellanox/mlx5/core/meddev/sf.h    |    6 +-
> >  .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |    6 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/mr.c       |   11 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/port.c     |  106 --
> >  drivers/net/ethernet/mellanox/mlx5/core/qp.c       |    6 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/rdma.c     |    2 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/sriov.c    |   51 +-
> >  drivers/net/ethernet/mellanox/mlx5/core/transobj.c |   18 +-
> >  include/linux/cgroup_rdma.h                        |    2 +-
> >  include/linux/mlx5/device.h                        |    5 +
> >  include/linux/mlx5/driver.h                        |   40 +-
> >  include/linux/mlx5/eswitch.h                       |   32 +-
> >  include/linux/mlx5/fs.h                            |    2 +
> >  include/linux/mlx5/mlx5_ifc.h                      |  213 ++-
> >  include/linux/mlx5/port.h                          |   30 +-
> >  include/linux/mlx5/qp.h                            |    3 +-
> >  include/linux/mlx5/transobj.h                      |    3 +
> >  include/linux/mlx5/vport.h                         |    3 +-
> >  include/linux/scatterlist.h                        |   49 +-
> >  include/net/devlink.h                              |  175 +-
> >  include/net/flow_offload.h                         |    2 +-
> >  include/rdma/ib_cache.h                            |    4 +
> >  include/rdma/ib_sa.h                               |   13 +
> >  include/rdma/ib_umem.h                             |    8 +-
> >  include/rdma/ib_umem_odp.h                         |   26 +-
> >  include/rdma/ib_verbs.h                            |  544 ++++--
> >  include/rdma/rdma_netlink.h                        |   11 +
> >  include/rdma/rdma_vt.h                             |    8 +-
> >  include/rdma/restrack.h                            |   58 +-
> >  include/rdma/uverbs_ioctl.h                        |   18 +
> >  include/rdma/uverbs_std_types.h                    |   28 +-
> >  include/rdma/uverbs_types.h                        |   19 +-
> >  include/trace/events/devlink.h                     |   62 +
> >  include/uapi/linux/devlink.h                       |   35 +
> >  include/uapi/rdma/ib_user_verbs.h                  |    2 +
> >  include/uapi/rdma/mlx5-abi.h                       |    2 +
> >  include/uapi/rdma/mlx5_user_ioctl_cmds.h           |   20 +
> >  include/uapi/rdma/mlx5_user_ioctl_verbs.h          |   13 +
> >  include/uapi/rdma/rdma_netlink.h                   |   70 +-
> >  kernel/cgroup/rdma.c                               |    5 +-
> >  lib/scatterlist.c                                  |   26 +
> >  net/core/devlink.c                                 | 1593 ++++++++++++++--
> >  net/core/ethtool.c                                 |    7 +
> >  scripts/checkpatch.pl                              |   13 -
> >  249 files changed, 12785 insertions(+), 5840 deletions(-)
> >  create mode 100644 Documentation/networking/devlink-health.txt
> >  create mode 100644 drivers/infiniband/core/restrack.h
> >  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter.h
> >  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
> >  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.c
> >  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.h
> >  delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/mad.c
> >
>
>
Stefan Bader Oct. 21, 2019, 4:15 p.m. UTC | #3
On 18.10.19 14:57, Jesse Sung wrote:
> Buglink: https://launchpad.net/bugs/1848324
> 
> SRU Justification
> 
> * Impact:
> Some issues found while Mellanox verifying linux-bluefield. These are
> the patches they sent to address those issues.
> 
> * Risk of Regression:
> Low. Patches are from Mellanox and will be only apply to linux-bluefield.
> 
> ----------------------------------------------------------------
> The following changes since commit e73b251209f5e1de8daf75941af6ac1f7cbf230f:
> 
>   UBUNTU: Ubuntu-bluefield-5.0.0-1003.12 (2019-10-03 11:06:04 -0700)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~wenchien/+git/ubuntu-kernel bluefield-20191016
> 
> for you to fetch changes up to c42e649a6e6cca5d06207682e1f009ec7dfa24bc:
> 
>   UBUNTU: [Config] updates for linux-bluefield (2019-10-18 20:38:45 +0800)
> 
> ----------------------------------------------------------------
> Ariel Levkovich (8):
>       net/mlx5: Expose SW ICM related device memory capabilities
>       net/mlx5: Expose TIR ICM address in command outbox
>       net/mlx5: Introduce new TIR creation core API
>       IB/mlx5: Expose TIR ICM address to user space
>       IB/mlx5: Support device memory type attribute
>       IB/mlx5: Warn on allocated MEMIC buffers during cleanup
>       IB/mlx5: Add steering SW ICM device memory type
>       IB/mlx5: Device resource control for privileged DEVX user
> 
> Aya Levin (15):
>       devlink: Add Documentation/networking/devlink-health.txt
>       net/mlx5: Refactor queries to speed fields in Port Type and Speed register
>       net/mlx5: Add new fields to Port Type and Speed register
>       net/mlx5: Add support to ext_* fields introduced in Port Type
> and Speed register
>       IB/mlx5: Add support for 50Gbps per lane link modes
>       net/mlx5: ethtool, Add ethtool support for 50Gbps per lane link modes
>       devlink: Rename devlink health attributes
>       devlink: Modify reply of DEVLINK_CMD_HEALTH_REPORTER_GET
>       IB/mlx5: Fix mapping of link-mode to IB width and speed
>       net/mlx5: ethtool, Fix type analysis of advertised link-mode
>       net/mlx5: ethtool, Allow legacy link-modes configuration via
> non-extended ptys
>       net/mlx5: Expose MPEIN (Management PCIE INfo) register layout
>       net/mlx5: Handle event of power detection in the PCIE slot
>       IB/mlx5: Restrict 'DELAY_DROP_TIMEOUT' subtype to Ethernet interfaces
>       net/mlx5: Enable general events on all interfaces
> 
> Bodong Wang (4):
>       UBUNTU: SAUCE: IB/mlx5: Check both CONFIG_ARM and CONFIG_ARM64
>       net/mlx5: Fix peer pf disable hca command
>       UBUNTU: SAUCE: net/mlx5: Check eswitch manager for all relevant FS command
>       UBUNTU: SAUCE: net/mlx5: E-Switch, Have vport placeholder for
> ECPF eswich manager
> 
> Eli Britstein (1):
>       flow_offload: Fix flow action infrastructure
> 
> Eran Ben Elisha (10):
>       devlink: Add health buffer support
>       devlink: Add health reporter create/destroy functionality
>       devlink: Add health report functionality
>       devlink: Add health get command
>       devlink: Add health set command
>       devlink: Add health recover command
>       devlink: Add health diagnose command
>       devlink: Add health dump {get,clear} commands
>       net/mlx5e: Add TX reporter support
>       net/mlx5e: Add TX timeout support for mlx5e TX reporter
> 
> Gal Pressman (1):
>       RDMA: Add indication for in kernel API support to IB device
> 
> Greg Kroah-Hartman (1):
>       infiniband: mlx5: no need to check return value of
> debugfs_create functions
> 
> Huy Nguyen (1):
>       net/mlx5: Support ndo bridge_setlink and getlink
> 
> Jakub Kicinski (4):
>       ethtool: add compat for devlink info
>       devlink: fix condition for compat device info
>       devlink: don't allocate attrs on the stack
>       devlink: add device information API
> 
> Jason Gunthorpe (29):
>       IB/{core,hw}: Have ib_umem_get extract the ib_ucontext from ib_udata
>       RDMA/device: Use __ib_device_get_by_name() in ib_device_rename()
>       coding-style: Clarify the expectations around bool
>       net/mlx5: Make mlx5_cmd_exec_cb() a safe API
>       RDMA/device: Check that the rename is nop under the lock
>       RDMA/device: Ensure that security memory is always freed
>       RDMA/device: Call ib_cache_release_one() only from ib_device_release()
>       RDMA/device: Get rid of reg_state
>       RDMA/device: Use an ida instead of a free page in alloc_name
>       RDMA/devices: Use xarray to store the clients
>       RDMA/devices: Use xarray to store the client_data
>       RDMA/devices: Re-organize device.c locking
>       lib/scatterlist: Provide a DMA page iterator
>       RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq
>       RDMA: Add and use rdma_for_each_port
>       RDMA/device: Consolidate ib_device per_port data into one place
>       RDMA/cache: Move the cache per-port data into the main ib_port_data
>       RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev
>       RDMA/device: Add ib_device_get_by_netdev()
>       RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding
>       RDMA/device: Provide APIs from the core code to help unregistration
>       RDMA/rxe: Use driver_unregister and new unregistration API
>       RDMA/rxe: Add ib_device_get_by_name() and use it in rxe
>       RDMA/rxe: Close a race after ib_register_device
>       IB/mlx5: Remove references to uboject->context
>       IB: When attrs.udata/ufile is available use that instead of uobject
>       RDMA/drivers: Convert easy drivers to use ib_device_set_netdev()
>       RDMA: Remove rdma_user_mmap_page
>       RDMA/core: Clear out the udata before error unwind
> 
> Jianbo Liu (1):
>       UBUNTU: SAUCE: RDMA/mlx5: Add vport metadata matching for IB representors
> 
> Leon Romanovsky (49):
>       RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING
>       RDMA/core: Don't depend device ODP capabilities on kconfig option
>       RDMA/mlx5: Introduce and reuse helper to identify ODP MR
>       RDMA/mlx5: Embed into the code flow the ODP config option
>       RDMA/mlx5: Delete declaration of already removed function
>       RDMA: Clear PD objects during their allocation
>       RDMA: Clear CQ objects during their allocation
>       RDMA: Clear CTX objects during their allocation
>       RDMA/mad: Reduce MAD scope to mlx5_ib only
>       RDMA: Provide safe ib_alloc_device() function
>       RDMA/nldev: Dynamically generate restrack dumpit callbacks
>       RDMA/nldev: Factor out the PID namespace check
>       RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks
>       RDMA/core: Simplify restrack interface
>       RDMA/restrack: Refactor user/kernel restrack additions
>       RDMA/core: Use the ops infrastructure to keep all callbacks in one place
>       RDMA/cma: Remove CM_ID statistics provided by rdma-cm module
>       RDMA/core: Share driver structure size with core
>       RDMA: Handle PD allocations by IB/core
>       net/mlx5: Align ODP capability function with netdev coding style
>       RDMA/restrack: Convert internal DB from hash to XArray
>       RDMA/restrack: Translate from ID to restrack object
>       RDMA/nldev: Add resource tracker doit callback
>       RDMA/restrack: Reduce scope of synchronization lock while updating DB
>       RDMA/restrack: Hide restrack DB from IB/core
>       net/mlx5: Factor out HCA capabilities functions
>       RDMA/restrack: Prepare restrack_root to addition of extra fields per-type
>       RDMA/nldev: Share with user-space object IDs
>       RDMA/nldev: Provide parent IDs for PD, MR and QP objects
>       RDMA/nldev: Connect QP number to .doit callback
>       RDMA/nldev: Don't expose number of not-visible entries
>       net/mlx5e: Add missing static function annotation
>       net/mlx5: Delete unused FPGA QPN variable
>       RDMA/iwcm: Fix string truncation error
>       RDMA: Handle ucontext allocations by IB/core
>       RDMA/uverbs: Don't do double free of allocated PD
>       RDMA/netlink: Remove unused data structure
>       RDMA/core: Don't compare specific bit after boolean AND
>       RDMA/cma: Set proper port number as index
>       RDMA/mlx5: Cleanup WQE page fault handler
>       RDMA/cm: Remove useless zeroing of static global variable
>       RDMA/cm: Move debug counters to be under relevant IB device
>       RDMA/nldev: Return device protocol
>       RDMA/core: Support object allocation in atomic context
>       RDMA: Handle AH allocations by IB/core
>       RDMA: Handle SRQ allocations by IB/core
>       RDMA/rdmavt: Catch use-after-free access of AH structures
>       RDMA/mlx5: Remove MAYEXEC flag
>       RDMA/device: Don't fire uevent before device is fully initialized
> 
> Maor Gottlieb (3):
>       IB/mlx5: Don't override existing ip_protocol
>       RDMA/mlx5: Add query e-switch vport context to devx white list
>       UBUNTU: SAUCE: RDMA/mlx5: Consider eswitch encap mode
> 
> Mark Bloch (18):
>       RDMA/mlx5: Fix memory leak in case we fail to add an IB device
>       net/mlx5: E-Switch, add a new prio to be used by the RDMA side
>       RDMA/mlx5: Move netdev info into the port struct
>       RDMA/mlx5: Free IB device on remove
>       RDMA/mlx5: Move ports allocation to outside of INIT stage
>       RDMA/mlx5: Use correct size for device resources
>       RDMA/mlx5: Move rep into port struct
>       RDMA/mlx5: Move default representors SQ steering to rule to modify QP
>       RDMA/mlx5: Refactor netdev affinity code
>       RDMA/mlx5: Move SMI caps logic
>       RDMA/mlx5: Move to single device multiport ports in switchdev mode
>       RDMA/mlx5: Remove VF representor profile
>       RDMA/mlx5: Access the prio bypass inside the FDB flow table namespace
>       RDMA/mlx5: Create flow table with max size supported
>       RDMA/mlx5: Allow inserting a steering rule to the FDB
>       RDMA/mlx5: Allow DEVX and raw creation flow on reps
>       RDMA/mlx5: Initialize roce port info before multiport master init
>       RDMA/mlx5: Don't create IB representors when in multiport RoCE mode
> 
> Mark Zhang (2):
>       UBUNTU: SAUCE: net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap
>       UBUNTU: SAUCE: IB/core: udp_sport support for sa_path and rdma_ah
> 
> Moni Shoua (17):
>       net/mlx5: Add XRC transport to ODP device capabilities layout
>       net/mlx5: Set ODP SRQ support in firmware
>       IB/mlx5: Fix the locking of SRQ objects in ODP events
>       IB/core: Allocate a bit for SRQ ODP support
>       IB/uverbs: Expose XRC ODP device capabilities
>       IB/mlx5: Remove useless check in ODP handler
>       IB/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature
>       IB/mlx5: Add XRC initiator ODP support
>       IB/mlx5: Let read user wqe also from SRQ buffer
>       IB/mlx5: Add ODP SRQ support
>       IB/mlx5: Advertise SRQ ODP support for supported transports
>       IB/mlx5: Advertise XRC ODP support
>       IB/mlx5: Protect against prefetch of invalid MR
>       IB/mlx5: Validate correct PD before prefetch MR
>       IB/core: Abort page fault handler silently during owning process exit
>       IB/mlx5: Set correct write permissions for implicit ODP MR
>       net/mlx5: ODP support for XRC transport is not enabled by default in FW
> 
> Parav Pandit (40):
>       RDMA: Rename port_callback to init_port
>       RDMA: Introduce and use rdma_device_to_ibdev()
>       IB/core: Simplify rdma cgroup registration
>       IB/umad: Avoid additional device reference during open()/close()
>       IB/umad: Do not check status of nonseekable_open()
>       IB/mlx5: Consider vlan of lower netdev for macvlan GID entries
>       devlink: Add WARN_ON to catch errors of not cleaning devlink objects
>       devlink: Return right error code in case of errors for region read
>       devlink: Fix list access without lock while reading region
>       RDMA/core: Use simpler device_del() instead of device_unregister()
>       RDMA/core: Introduce and use ib_setup_port_attrs()
>       RDMA/core: Move device addition deletion to device.c
>       net/mlx5: Simplify sriov enable/disable flow
>       net/mlx5: Simplify mlx5_sriov_is_enabled() by using pci core API
>       RDMA/core: Introduce ib_core_device to hold device
>       RDMA/core: Restrict sysfs entries view to init_net
>       RDMA/core: Implement compat device/sysfs tree in net namespace
>       RDMA/core: Support core port attributes in non init_net
>       RDMA/core: Add module param to disable device sharing among net ns
>       RDMA: Check net namespace access for uverbs, umad, cma and nldev
>       RDMA/core: Extend ib_device_get_by_index for net namespace
>       RDMA/core: Add interface to read device namespace sharing mode
>       RDMA/core: Add command to set ib_core device net namspace sharing mode
>       RDMA/core: Avoid freeing netdevs in disable_device()
>       RDMA/core: Introduce a helper function to change net namespace
> of rdma device
>       RDMA/core: Add a netlink command to change net namespace of rdma device
>       IB/core: Allow vlan link local address based RoCE GIDs
>       UBUNTU: SAUCE: net/mlx5_core: Add debugfs for flow steering
>       UBUNTU: SAUCE: net/mlx5: Add per-namespace flow table default
> miss action support
>       UBUNTU: SAUCE: net/mlx5: Create bypass and loopback flow
> steering namespaces for RDMA RX
>       UBUNTU: SAUCE: RDMA/mlx5: RDMA_RX flow type support for user applications
>       RDMA/core: Do not invoke init_port on compat devices
>       RDMA/rxe: Consider skb reserve space based on netdev of GID
>       IB/cm: Reduce dependency on gid attribute ndev check
>       RDMA: Introduce and use GID attr helper to read RoCE L2 fields
>       RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev
>       RDMA/core: Allow detaching gid attribute netdevice for RoCE
>       RDMA/core: Change system parameters callback from dumpit to doit
>       {IB, net}/mlx5: No need to typecast from void* to mlx5_ib_dev*
>       {IB,net}/mlx5: Constify rep ops functions pointers
> 
> Saeed Mahameed (2):
>       net/mlx5: Fix compilation warning in eq.c
>       net/mlx5: Fix broken hca cap offset
> 
> Shamir Rabinovitch (10):
>       IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs
>       IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl
> and cmd flows
>       IB/verbs: Add helper function rdma_udata_to_drv_context
>       IB/{hw,sw}: Remove 'uobject->context' dependency in object creation APIs
>       IB: ucontext should be set properly for all cmd & ioctl paths
>       IB: Pass uverbs_attr_bundle down uobject destroy path
>       IB: Pass uverbs_attr_bundle down ib_x destroy path
>       IB: Remove 'uobject->context' dependency in object destroy APIs
>       IB: Pass only ib_udata in function prototypes
>       RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in
> ib_uverbs_get_context
> 
> Steve Wise (1):
>       RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support
> 
> Vu Pham (2):
>       UBUNTU: SAUCE: RDMA/mlx5: Set port state to NOP for invalid port_num
>       UBUNTU: SAUCE: net/mlx5: Support modifying max_sfs
> 
> Wen-chien Jesse Sung (1):
>       UBUNTU: [Config] updates for linux-bluefield
> 
> Yevgeny Kliteynik (2):
>       net/mlx5: Geneve, Add basic Geneve encap/decap flow table capabilities
>       net/mlx5: Geneve, Add flow table capabilities for Geneve decap
> with TLV options
> 
> Yishai Hadas (12):
>       IB/mlx5: DEVX handling for indirection MKEY
>       IB/mlx5: Manage indirection mkey upon DEVX flow for ODP
>       IB/mlx5: Add support for ODP for DEVX indirection mkey
>       IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD
>       IB/mlx5: Introduce async DEVX obj query API
>       IB/mlx5: Implement the file ops of DEVX async command FD
>       IB/mlx5: Implement DEVX hot unplug for async command FD
>       IB/mlx5: Fix bad flow upon DEVX mkey creation
>       IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT
>       IB/mlx5: Verify DEVX general object type correctly
>       net/mlx5: Set completion EQs as shared resources
>       net/mlx5: Fix mlx5_core_destroy_cq() error flow
> 
> root (1):
>       UBUNTU: SAUCE: net/mlx5: Expose eswitch encap mode
> 
>  .clang-format                                      |    2 +
>  Documentation/networking/devlink-health.txt        |   86 +
>  Documentation/process/coding-style.rst             |   38 +-
>  .../abi/5.0.0-1002.11/arm64/bluefield.modules      |   13 +-
>  debian.bluefield/config/annotations                |   11 +
>  debian.bluefield/config/config.common.ubuntu       |   30 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c         |    8 +-
>  drivers/infiniband/Kconfig                         |   15 +-
>  drivers/infiniband/core/Makefile                   |    4 +-
>  drivers/infiniband/core/addr.c                     |    1 +
>  drivers/infiniband/core/cache.c                    |  242 ++-
>  drivers/infiniband/core/cgroup.c                   |    5 +-
>  drivers/infiniband/core/cm.c                       |   52 +-
>  drivers/infiniband/core/cma.c                      |  107 +-
>  drivers/infiniband/core/core_priv.h                |   47 +-
>  drivers/infiniband/core/cq.c                       |   21 +-
>  drivers/infiniband/core/device.c                   | 1933 +++++++++++++++-----
>  drivers/infiniband/core/iwcm.c                     |    6 +-
>  drivers/infiniband/core/mad.c                      |    4 +-
>  drivers/infiniband/core/netlink.c                  |    4 +-
>  drivers/infiniband/core/nldev.c                    |  605 ++++--
>  drivers/infiniband/core/rdma_core.c                |  102 +-
>  drivers/infiniband/core/rdma_core.h                |   13 +-
>  drivers/infiniband/core/restrack.c                 |  210 ++-
>  drivers/infiniband/core/restrack.h                 |   28 +
>  drivers/infiniband/core/security.c                 |   39 +-
>  drivers/infiniband/core/sysfs.c                    |  163 +-
>  drivers/infiniband/core/umem.c                     |   13 +-
>  drivers/infiniband/core/umem_odp.c                 |    2 +-
>  drivers/infiniband/core/user_mad.c                 |   62 +-
>  drivers/infiniband/core/uverbs.h                   |    3 +-
>  drivers/infiniband/core/uverbs_cmd.c               |  156 +-
>  drivers/infiniband/core/uverbs_ioctl.c             |   26 +-
>  drivers/infiniband/core/uverbs_main.c              |   69 +-
>  drivers/infiniband/core/uverbs_std_types.c         |   52 +-
>  .../infiniband/core/uverbs_std_types_counters.c    |    5 +-
>  drivers/infiniband/core/uverbs_std_types_cq.c      |   12 +-
>  drivers/infiniband/core/uverbs_std_types_dm.c      |    9 +-
>  .../infiniband/core/uverbs_std_types_flow_action.c |    5 +-
>  drivers/infiniband/core/uverbs_std_types_mr.c      |    9 +-
>  drivers/infiniband/core/uverbs_uapi.c              |   15 +-
>  drivers/infiniband/core/verbs.c                    |  224 +--
>  drivers/infiniband/hw/bnxt_re/ib_verbs.c           |  235 +--
>  drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   46 +-
>  drivers/infiniband/hw/bnxt_re/main.c               |   20 +-
>  drivers/infiniband/hw/bnxt_re/qplib_fp.c           |   12 +-
>  drivers/infiniband/hw/bnxt_re/qplib_fp.h           |    4 +-
>  drivers/infiniband/hw/bnxt_re/qplib_sp.c           |   12 +-
>  drivers/infiniband/hw/bnxt_re/qplib_sp.h           |    4 +-
>  drivers/infiniband/hw/cxgb3/iwch.c                 |    2 +-
>  drivers/infiniband/hw/cxgb3/iwch_provider.c        |  105 +-
>  drivers/infiniband/hw/cxgb4/cq.c                   |   17 +-
>  drivers/infiniband/hw/cxgb4/device.c               |    2 +-
>  drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |   19 +-
>  drivers/infiniband/hw/cxgb4/mem.c                  |    9 +-
>  drivers/infiniband/hw/cxgb4/provider.c             |   70 +-
>  drivers/infiniband/hw/cxgb4/qp.c                   |   47 +-
>  drivers/infiniband/hw/hfi1/sysfs.c                 |   16 +-
>  drivers/infiniband/hw/hfi1/verbs.c                 |    2 +-
>  drivers/infiniband/hw/hns/Kconfig                  |    1 -
>  drivers/infiniband/hw/hns/hns_roce_ah.c            |   36 +-
>  drivers/infiniband/hw/hns/hns_roce_cq.c            |   42 +-
>  drivers/infiniband/hw/hns/hns_roce_db.c            |    6 +-
>  drivers/infiniband/hw/hns/hns_roce_device.h        |   39 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   45 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.h         |    2 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |   34 +-
>  drivers/infiniband/hw/hns/hns_roce_main.c          |   63 +-
>  drivers/infiniband/hw/hns/hns_roce_mr.c            |   13 +-
>  drivers/infiniband/hw/hns/hns_roce_pd.c            |   26 +-
>  drivers/infiniband/hw/hns/hns_roce_qp.c            |   26 +-
>  drivers/infiniband/hw/hns/hns_roce_srq.c           |   59 +-
>  drivers/infiniband/hw/i40iw/i40iw_cm.c             |    3 +-
>  drivers/infiniband/hw/i40iw/i40iw_utils.c          |    1 -
>  drivers/infiniband/hw/i40iw/i40iw_verbs.c          |  143 +-
>  drivers/infiniband/hw/mlx4/Kconfig                 |    1 -
>  drivers/infiniband/hw/mlx4/ah.c                    |  103 +-
>  drivers/infiniband/hw/mlx4/cq.c                    |   55 +-
>  drivers/infiniband/hw/mlx4/doorbell.c              |    8 +-
>  drivers/infiniband/hw/mlx4/mad.c                   |   33 +-
>  drivers/infiniband/hw/mlx4/main.c                  |   82 +-
>  drivers/infiniband/hw/mlx4/mlx4_ib.h               |   35 +-
>  drivers/infiniband/hw/mlx4/mr.c                    |   20 +-
>  drivers/infiniband/hw/mlx4/qp.c                    |  128 +-
>  drivers/infiniband/hw/mlx4/srq.c                   |   67 +-
>  drivers/infiniband/hw/mlx5/Kconfig                 |    1 -
>  drivers/infiniband/hw/mlx5/ah.c                    |   33 +-
>  drivers/infiniband/hw/mlx5/cmd.c                   |  192 +-
>  drivers/infiniband/hw/mlx5/cmd.h                   |   10 +-
>  drivers/infiniband/hw/mlx5/cong.c                  |   15 +-
>  drivers/infiniband/hw/mlx5/cq.c                    |   60 +-
>  drivers/infiniband/hw/mlx5/devx.c                  |  532 +++++-
>  drivers/infiniband/hw/mlx5/doorbell.c              |    6 +-
>  drivers/infiniband/hw/mlx5/flow.c                  |  108 +-
>  drivers/infiniband/hw/mlx5/ib_rep.c                |  135 +-
>  drivers/infiniband/hw/mlx5/ib_rep.h                |   31 +-
>  drivers/infiniband/hw/mlx5/mad.c                   |   11 +-
>  drivers/infiniband/hw/mlx5/main.c                  |  979 ++++++----
>  drivers/infiniband/hw/mlx5/mem.c                   |    5 +-
>  drivers/infiniband/hw/mlx5/mlx5_ib.h               |  165 +-
>  drivers/infiniband/hw/mlx5/mr.c                    |  217 +--
>  drivers/infiniband/hw/mlx5/odp.c                   |  361 +++-
>  drivers/infiniband/hw/mlx5/qp.c                    |  425 +++--
>  drivers/infiniband/hw/mlx5/srq.c                   |   87 +-
>  drivers/infiniband/hw/mlx5/srq.h                   |    4 +-
>  drivers/infiniband/hw/mlx5/srq_cmd.c               |   24 +-
>  drivers/infiniband/hw/mthca/mthca_main.c           |    2 +-
>  drivers/infiniband/hw/mthca/mthca_provider.c       |  274 ++-
>  drivers/infiniband/hw/mthca/mthca_qp.c             |   13 +-
>  drivers/infiniband/hw/mthca/mthca_srq.c            |   21 +-
>  drivers/infiniband/hw/nes/Kconfig                  |    2 +-
>  drivers/infiniband/hw/nes/nes_cm.c                 |    3 +-
>  drivers/infiniband/hw/nes/nes_verbs.c              |  153 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_ah.c           |   32 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_ah.h           |    6 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |   18 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_hw.h           |    6 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_main.c         |   24 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |  254 ++-
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |   29 +-
>  drivers/infiniband/hw/qedr/main.c                  |   31 +-
>  drivers/infiniband/hw/qedr/qedr_roce_cm.c          |   11 +-
>  drivers/infiniband/hw/qedr/verbs.c                 |  188 +-
>  drivers/infiniband/hw/qedr/verbs.h                 |   31 +-
>  drivers/infiniband/hw/qib/qib_sysfs.c              |   18 +-
>  drivers/infiniband/hw/qib/qib_verbs.c              |    2 +-
>  drivers/infiniband/hw/usnic/usnic_ib_main.c        |    6 +-
>  drivers/infiniband/hw/usnic/usnic_ib_sysfs.c       |   26 +-
>  drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |   57 +-
>  drivers/infiniband/hw/usnic/usnic_ib_verbs.h       |   18 +-
>  drivers/infiniband/hw/usnic/usnic_uiom.c           |    3 +-
>  drivers/infiniband/hw/usnic/usnic_uiom.h           |    3 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |   19 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |   34 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c       |    7 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |    9 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c      |   47 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c    |  140 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h    |   33 +-
>  drivers/infiniband/sw/rdmavt/ah.c                  |   38 +-
>  drivers/infiniband/sw/rdmavt/ah.h                  |    8 +-
>  drivers/infiniband/sw/rdmavt/cq.c                  |    7 +-
>  drivers/infiniband/sw/rdmavt/cq.h                  |    3 +-
>  drivers/infiniband/sw/rdmavt/mmap.c                |   16 +-
>  drivers/infiniband/sw/rdmavt/mmap.h                |    6 +-
>  drivers/infiniband/sw/rdmavt/mr.c                  |   10 +-
>  drivers/infiniband/sw/rdmavt/mr.h                  |    7 +-
>  drivers/infiniband/sw/rdmavt/pd.c                  |   30 +-
>  drivers/infiniband/sw/rdmavt/pd.h                  |    6 +-
>  drivers/infiniband/sw/rdmavt/qp.c                  |    6 +-
>  drivers/infiniband/sw/rdmavt/qp.h                  |    2 +-
>  drivers/infiniband/sw/rdmavt/srq.c                 |   48 +-
>  drivers/infiniband/sw/rdmavt/srq.h                 |    7 +-
>  drivers/infiniband/sw/rdmavt/vt.c                  |   37 +-
>  drivers/infiniband/sw/rxe/rxe.c                    |   41 +-
>  drivers/infiniband/sw/rxe/rxe.h                    |   14 +-
>  drivers/infiniband/sw/rxe/rxe_cq.c                 |   10 +-
>  drivers/infiniband/sw/rxe/rxe_loc.h                |   18 +-
>  drivers/infiniband/sw/rxe/rxe_mmap.c               |   14 +-
>  drivers/infiniband/sw/rxe/rxe_mr.c                 |    2 +-
>  drivers/infiniband/sw/rxe/rxe_net.c                |   89 +-
>  drivers/infiniband/sw/rxe/rxe_net.h                |    2 +-
>  drivers/infiniband/sw/rxe/rxe_pool.c               |   81 +-
>  drivers/infiniband/sw/rxe/rxe_pool.h               |    4 +
>  drivers/infiniband/sw/rxe/rxe_qp.c                 |   15 +-
>  drivers/infiniband/sw/rxe/rxe_queue.c              |   22 +-
>  drivers/infiniband/sw/rxe/rxe_queue.h              |   15 +-
>  drivers/infiniband/sw/rxe/rxe_srq.c                |   14 +-
>  drivers/infiniband/sw/rxe/rxe_sysfs.c              |   36 +-
>  drivers/infiniband/sw/rxe/rxe_verbs.c              |  173 +-
>  drivers/infiniband/sw/rxe/rxe_verbs.h              |   11 +-
>  drivers/infiniband/ulp/ipoib/ipoib_main.c          |    4 +-
>  drivers/infiniband/ulp/srp/ib_srp.c                |    5 +-
>  drivers/media/pci/intel/ipu3/ipu3-cio2.c           |    4 +-
>  drivers/net/ethernet/mellanox/mlx5/core/Makefile   |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/cmd.c      |   55 +-
>  drivers/net/ethernet/mellanox/mlx5/core/cq.c       |    9 +-
>  drivers/net/ethernet/mellanox/mlx5/core/ecpf.c     |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en.h       |   18 +-
>  .../ethernet/mellanox/mlx5/core/en/monitor_stats.c |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en/port.c  |  139 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en/port.h  |   16 +-
>  .../net/ethernet/mellanox/mlx5/core/en/reporter.h  |   15 +
>  .../ethernet/mellanox/mlx5/core/en/reporter_tx.c   |  356 ++++
>  .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |  281 ++-
>  drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  245 +--
>  drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |   15 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en_rep.h   |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en_tx.c    |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/eq.c       |   28 +-
>  drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |   11 +
>  drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |    7 +-
>  .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |   38 +-
>  drivers/net/ethernet/mellanox/mlx5/core/events.c   |   75 +
>  .../net/ethernet/mellanox/mlx5/core/fpga/core.c    |    2 -
>  drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |   14 +-
>  drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |  271 ++-
>  drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |   18 +-
>  .../net/ethernet/mellanox/mlx5/core/fs_debugfs.c   | 1324 ++++++++++++++
>  .../net/ethernet/mellanox/mlx5/core/fs_debugfs.h   |  109 ++
>  drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h   |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/mad.c      |   75 -
>  drivers/net/ethernet/mellanox/mlx5/core/main.c     |   89 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/mdev.c  |   26 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/sf.c    |  153 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/sf.h    |    6 +-
>  .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/mr.c       |   11 +-
>  drivers/net/ethernet/mellanox/mlx5/core/port.c     |  106 --
>  drivers/net/ethernet/mellanox/mlx5/core/qp.c       |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/rdma.c     |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/sriov.c    |   51 +-
>  drivers/net/ethernet/mellanox/mlx5/core/transobj.c |   18 +-
>  include/linux/cgroup_rdma.h                        |    2 +-
>  include/linux/mlx5/device.h                        |    5 +
>  include/linux/mlx5/driver.h                        |   40 +-
>  include/linux/mlx5/eswitch.h                       |   32 +-
>  include/linux/mlx5/fs.h                            |    2 +
>  include/linux/mlx5/mlx5_ifc.h                      |  213 ++-
>  include/linux/mlx5/port.h                          |   30 +-
>  include/linux/mlx5/qp.h                            |    3 +-
>  include/linux/mlx5/transobj.h                      |    3 +
>  include/linux/mlx5/vport.h                         |    3 +-
>  include/linux/scatterlist.h                        |   49 +-
>  include/net/devlink.h                              |  175 +-
>  include/net/flow_offload.h                         |    2 +-
>  include/rdma/ib_cache.h                            |    4 +
>  include/rdma/ib_sa.h                               |   13 +
>  include/rdma/ib_umem.h                             |    8 +-
>  include/rdma/ib_umem_odp.h                         |   26 +-
>  include/rdma/ib_verbs.h                            |  544 ++++--
>  include/rdma/rdma_netlink.h                        |   11 +
>  include/rdma/rdma_vt.h                             |    8 +-
>  include/rdma/restrack.h                            |   58 +-
>  include/rdma/uverbs_ioctl.h                        |   18 +
>  include/rdma/uverbs_std_types.h                    |   28 +-
>  include/rdma/uverbs_types.h                        |   19 +-
>  include/trace/events/devlink.h                     |   62 +
>  include/uapi/linux/devlink.h                       |   35 +
>  include/uapi/rdma/ib_user_verbs.h                  |    2 +
>  include/uapi/rdma/mlx5-abi.h                       |    2 +
>  include/uapi/rdma/mlx5_user_ioctl_cmds.h           |   20 +
>  include/uapi/rdma/mlx5_user_ioctl_verbs.h          |   13 +
>  include/uapi/rdma/rdma_netlink.h                   |   70 +-
>  kernel/cgroup/rdma.c                               |    5 +-
>  lib/scatterlist.c                                  |   26 +
>  net/core/devlink.c                                 | 1593 ++++++++++++++--
>  net/core/ethtool.c                                 |    7 +
>  scripts/checkpatch.pl                              |   13 -
>  249 files changed, 12785 insertions(+), 5840 deletions(-)
>  create mode 100644 Documentation/networking/devlink-health.txt
>  create mode 100644 drivers/infiniband/core/restrack.h
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter.h
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.c
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.h
>  delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/mad.c
> 
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Khaled Elmously Oct. 21, 2019, 4:41 p.m. UTC | #4
On 2019-10-18 20:57:02 , Jesse Sung wrote:
> Buglink: https://launchpad.net/bugs/1848324
> 
> SRU Justification
> 
> * Impact:
> Some issues found while Mellanox verifying linux-bluefield. These are
> the patches they sent to address those issues.
> 
> * Risk of Regression:
> Low. Patches are from Mellanox and will be only apply to linux-bluefield.
> 
> ----------------------------------------------------------------
> The following changes since commit e73b251209f5e1de8daf75941af6ac1f7cbf230f:
> 
>   UBUNTU: Ubuntu-bluefield-5.0.0-1003.12 (2019-10-03 11:06:04 -0700)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~wenchien/+git/ubuntu-kernel bluefield-20191016
> 
> for you to fetch changes up to c42e649a6e6cca5d06207682e1f009ec7dfa24bc:
> 
>   UBUNTU: [Config] updates for linux-bluefield (2019-10-18 20:38:45 +0800)
> 
> ----------------------------------------------------------------
> Ariel Levkovich (8):
>       net/mlx5: Expose SW ICM related device memory capabilities
>       net/mlx5: Expose TIR ICM address in command outbox
>       net/mlx5: Introduce new TIR creation core API
>       IB/mlx5: Expose TIR ICM address to user space
>       IB/mlx5: Support device memory type attribute
>       IB/mlx5: Warn on allocated MEMIC buffers during cleanup
>       IB/mlx5: Add steering SW ICM device memory type
>       IB/mlx5: Device resource control for privileged DEVX user
> 
> Aya Levin (15):
>       devlink: Add Documentation/networking/devlink-health.txt
>       net/mlx5: Refactor queries to speed fields in Port Type and Speed register
>       net/mlx5: Add new fields to Port Type and Speed register
>       net/mlx5: Add support to ext_* fields introduced in Port Type
> and Speed register
>       IB/mlx5: Add support for 50Gbps per lane link modes
>       net/mlx5: ethtool, Add ethtool support for 50Gbps per lane link modes
>       devlink: Rename devlink health attributes
>       devlink: Modify reply of DEVLINK_CMD_HEALTH_REPORTER_GET
>       IB/mlx5: Fix mapping of link-mode to IB width and speed
>       net/mlx5: ethtool, Fix type analysis of advertised link-mode
>       net/mlx5: ethtool, Allow legacy link-modes configuration via
> non-extended ptys
>       net/mlx5: Expose MPEIN (Management PCIE INfo) register layout
>       net/mlx5: Handle event of power detection in the PCIE slot
>       IB/mlx5: Restrict 'DELAY_DROP_TIMEOUT' subtype to Ethernet interfaces
>       net/mlx5: Enable general events on all interfaces
> 
> Bodong Wang (4):
>       UBUNTU: SAUCE: IB/mlx5: Check both CONFIG_ARM and CONFIG_ARM64
>       net/mlx5: Fix peer pf disable hca command
>       UBUNTU: SAUCE: net/mlx5: Check eswitch manager for all relevant FS command
>       UBUNTU: SAUCE: net/mlx5: E-Switch, Have vport placeholder for
> ECPF eswich manager
> 
> Eli Britstein (1):
>       flow_offload: Fix flow action infrastructure
> 
> Eran Ben Elisha (10):
>       devlink: Add health buffer support
>       devlink: Add health reporter create/destroy functionality
>       devlink: Add health report functionality
>       devlink: Add health get command
>       devlink: Add health set command
>       devlink: Add health recover command
>       devlink: Add health diagnose command
>       devlink: Add health dump {get,clear} commands
>       net/mlx5e: Add TX reporter support
>       net/mlx5e: Add TX timeout support for mlx5e TX reporter
> 
> Gal Pressman (1):
>       RDMA: Add indication for in kernel API support to IB device
> 
> Greg Kroah-Hartman (1):
>       infiniband: mlx5: no need to check return value of
> debugfs_create functions
> 
> Huy Nguyen (1):
>       net/mlx5: Support ndo bridge_setlink and getlink
> 
> Jakub Kicinski (4):
>       ethtool: add compat for devlink info
>       devlink: fix condition for compat device info
>       devlink: don't allocate attrs on the stack
>       devlink: add device information API
> 
> Jason Gunthorpe (29):
>       IB/{core,hw}: Have ib_umem_get extract the ib_ucontext from ib_udata
>       RDMA/device: Use __ib_device_get_by_name() in ib_device_rename()
>       coding-style: Clarify the expectations around bool
>       net/mlx5: Make mlx5_cmd_exec_cb() a safe API
>       RDMA/device: Check that the rename is nop under the lock
>       RDMA/device: Ensure that security memory is always freed
>       RDMA/device: Call ib_cache_release_one() only from ib_device_release()
>       RDMA/device: Get rid of reg_state
>       RDMA/device: Use an ida instead of a free page in alloc_name
>       RDMA/devices: Use xarray to store the clients
>       RDMA/devices: Use xarray to store the client_data
>       RDMA/devices: Re-organize device.c locking
>       lib/scatterlist: Provide a DMA page iterator
>       RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq
>       RDMA: Add and use rdma_for_each_port
>       RDMA/device: Consolidate ib_device per_port data into one place
>       RDMA/cache: Move the cache per-port data into the main ib_port_data
>       RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev
>       RDMA/device: Add ib_device_get_by_netdev()
>       RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding
>       RDMA/device: Provide APIs from the core code to help unregistration
>       RDMA/rxe: Use driver_unregister and new unregistration API
>       RDMA/rxe: Add ib_device_get_by_name() and use it in rxe
>       RDMA/rxe: Close a race after ib_register_device
>       IB/mlx5: Remove references to uboject->context
>       IB: When attrs.udata/ufile is available use that instead of uobject
>       RDMA/drivers: Convert easy drivers to use ib_device_set_netdev()
>       RDMA: Remove rdma_user_mmap_page
>       RDMA/core: Clear out the udata before error unwind
> 
> Jianbo Liu (1):
>       UBUNTU: SAUCE: RDMA/mlx5: Add vport metadata matching for IB representors
> 
> Leon Romanovsky (49):
>       RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING
>       RDMA/core: Don't depend device ODP capabilities on kconfig option
>       RDMA/mlx5: Introduce and reuse helper to identify ODP MR
>       RDMA/mlx5: Embed into the code flow the ODP config option
>       RDMA/mlx5: Delete declaration of already removed function
>       RDMA: Clear PD objects during their allocation
>       RDMA: Clear CQ objects during their allocation
>       RDMA: Clear CTX objects during their allocation
>       RDMA/mad: Reduce MAD scope to mlx5_ib only
>       RDMA: Provide safe ib_alloc_device() function
>       RDMA/nldev: Dynamically generate restrack dumpit callbacks
>       RDMA/nldev: Factor out the PID namespace check
>       RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks
>       RDMA/core: Simplify restrack interface
>       RDMA/restrack: Refactor user/kernel restrack additions
>       RDMA/core: Use the ops infrastructure to keep all callbacks in one place
>       RDMA/cma: Remove CM_ID statistics provided by rdma-cm module
>       RDMA/core: Share driver structure size with core
>       RDMA: Handle PD allocations by IB/core
>       net/mlx5: Align ODP capability function with netdev coding style
>       RDMA/restrack: Convert internal DB from hash to XArray
>       RDMA/restrack: Translate from ID to restrack object
>       RDMA/nldev: Add resource tracker doit callback
>       RDMA/restrack: Reduce scope of synchronization lock while updating DB
>       RDMA/restrack: Hide restrack DB from IB/core
>       net/mlx5: Factor out HCA capabilities functions
>       RDMA/restrack: Prepare restrack_root to addition of extra fields per-type
>       RDMA/nldev: Share with user-space object IDs
>       RDMA/nldev: Provide parent IDs for PD, MR and QP objects
>       RDMA/nldev: Connect QP number to .doit callback
>       RDMA/nldev: Don't expose number of not-visible entries
>       net/mlx5e: Add missing static function annotation
>       net/mlx5: Delete unused FPGA QPN variable
>       RDMA/iwcm: Fix string truncation error
>       RDMA: Handle ucontext allocations by IB/core
>       RDMA/uverbs: Don't do double free of allocated PD
>       RDMA/netlink: Remove unused data structure
>       RDMA/core: Don't compare specific bit after boolean AND
>       RDMA/cma: Set proper port number as index
>       RDMA/mlx5: Cleanup WQE page fault handler
>       RDMA/cm: Remove useless zeroing of static global variable
>       RDMA/cm: Move debug counters to be under relevant IB device
>       RDMA/nldev: Return device protocol
>       RDMA/core: Support object allocation in atomic context
>       RDMA: Handle AH allocations by IB/core
>       RDMA: Handle SRQ allocations by IB/core
>       RDMA/rdmavt: Catch use-after-free access of AH structures
>       RDMA/mlx5: Remove MAYEXEC flag
>       RDMA/device: Don't fire uevent before device is fully initialized
> 
> Maor Gottlieb (3):
>       IB/mlx5: Don't override existing ip_protocol
>       RDMA/mlx5: Add query e-switch vport context to devx white list
>       UBUNTU: SAUCE: RDMA/mlx5: Consider eswitch encap mode
> 
> Mark Bloch (18):
>       RDMA/mlx5: Fix memory leak in case we fail to add an IB device
>       net/mlx5: E-Switch, add a new prio to be used by the RDMA side
>       RDMA/mlx5: Move netdev info into the port struct
>       RDMA/mlx5: Free IB device on remove
>       RDMA/mlx5: Move ports allocation to outside of INIT stage
>       RDMA/mlx5: Use correct size for device resources
>       RDMA/mlx5: Move rep into port struct
>       RDMA/mlx5: Move default representors SQ steering to rule to modify QP
>       RDMA/mlx5: Refactor netdev affinity code
>       RDMA/mlx5: Move SMI caps logic
>       RDMA/mlx5: Move to single device multiport ports in switchdev mode
>       RDMA/mlx5: Remove VF representor profile
>       RDMA/mlx5: Access the prio bypass inside the FDB flow table namespace
>       RDMA/mlx5: Create flow table with max size supported
>       RDMA/mlx5: Allow inserting a steering rule to the FDB
>       RDMA/mlx5: Allow DEVX and raw creation flow on reps
>       RDMA/mlx5: Initialize roce port info before multiport master init
>       RDMA/mlx5: Don't create IB representors when in multiport RoCE mode
> 
> Mark Zhang (2):
>       UBUNTU: SAUCE: net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap
>       UBUNTU: SAUCE: IB/core: udp_sport support for sa_path and rdma_ah
> 
> Moni Shoua (17):
>       net/mlx5: Add XRC transport to ODP device capabilities layout
>       net/mlx5: Set ODP SRQ support in firmware
>       IB/mlx5: Fix the locking of SRQ objects in ODP events
>       IB/core: Allocate a bit for SRQ ODP support
>       IB/uverbs: Expose XRC ODP device capabilities
>       IB/mlx5: Remove useless check in ODP handler
>       IB/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature
>       IB/mlx5: Add XRC initiator ODP support
>       IB/mlx5: Let read user wqe also from SRQ buffer
>       IB/mlx5: Add ODP SRQ support
>       IB/mlx5: Advertise SRQ ODP support for supported transports
>       IB/mlx5: Advertise XRC ODP support
>       IB/mlx5: Protect against prefetch of invalid MR
>       IB/mlx5: Validate correct PD before prefetch MR
>       IB/core: Abort page fault handler silently during owning process exit
>       IB/mlx5: Set correct write permissions for implicit ODP MR
>       net/mlx5: ODP support for XRC transport is not enabled by default in FW
> 
> Parav Pandit (40):
>       RDMA: Rename port_callback to init_port
>       RDMA: Introduce and use rdma_device_to_ibdev()
>       IB/core: Simplify rdma cgroup registration
>       IB/umad: Avoid additional device reference during open()/close()
>       IB/umad: Do not check status of nonseekable_open()
>       IB/mlx5: Consider vlan of lower netdev for macvlan GID entries
>       devlink: Add WARN_ON to catch errors of not cleaning devlink objects
>       devlink: Return right error code in case of errors for region read
>       devlink: Fix list access without lock while reading region
>       RDMA/core: Use simpler device_del() instead of device_unregister()
>       RDMA/core: Introduce and use ib_setup_port_attrs()
>       RDMA/core: Move device addition deletion to device.c
>       net/mlx5: Simplify sriov enable/disable flow
>       net/mlx5: Simplify mlx5_sriov_is_enabled() by using pci core API
>       RDMA/core: Introduce ib_core_device to hold device
>       RDMA/core: Restrict sysfs entries view to init_net
>       RDMA/core: Implement compat device/sysfs tree in net namespace
>       RDMA/core: Support core port attributes in non init_net
>       RDMA/core: Add module param to disable device sharing among net ns
>       RDMA: Check net namespace access for uverbs, umad, cma and nldev
>       RDMA/core: Extend ib_device_get_by_index for net namespace
>       RDMA/core: Add interface to read device namespace sharing mode
>       RDMA/core: Add command to set ib_core device net namspace sharing mode
>       RDMA/core: Avoid freeing netdevs in disable_device()
>       RDMA/core: Introduce a helper function to change net namespace
> of rdma device
>       RDMA/core: Add a netlink command to change net namespace of rdma device
>       IB/core: Allow vlan link local address based RoCE GIDs
>       UBUNTU: SAUCE: net/mlx5_core: Add debugfs for flow steering
>       UBUNTU: SAUCE: net/mlx5: Add per-namespace flow table default
> miss action support
>       UBUNTU: SAUCE: net/mlx5: Create bypass and loopback flow
> steering namespaces for RDMA RX
>       UBUNTU: SAUCE: RDMA/mlx5: RDMA_RX flow type support for user applications
>       RDMA/core: Do not invoke init_port on compat devices
>       RDMA/rxe: Consider skb reserve space based on netdev of GID
>       IB/cm: Reduce dependency on gid attribute ndev check
>       RDMA: Introduce and use GID attr helper to read RoCE L2 fields
>       RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev
>       RDMA/core: Allow detaching gid attribute netdevice for RoCE
>       RDMA/core: Change system parameters callback from dumpit to doit
>       {IB, net}/mlx5: No need to typecast from void* to mlx5_ib_dev*
>       {IB,net}/mlx5: Constify rep ops functions pointers
> 
> Saeed Mahameed (2):
>       net/mlx5: Fix compilation warning in eq.c
>       net/mlx5: Fix broken hca cap offset
> 
> Shamir Rabinovitch (10):
>       IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs
>       IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl
> and cmd flows
>       IB/verbs: Add helper function rdma_udata_to_drv_context
>       IB/{hw,sw}: Remove 'uobject->context' dependency in object creation APIs
>       IB: ucontext should be set properly for all cmd & ioctl paths
>       IB: Pass uverbs_attr_bundle down uobject destroy path
>       IB: Pass uverbs_attr_bundle down ib_x destroy path
>       IB: Remove 'uobject->context' dependency in object destroy APIs
>       IB: Pass only ib_udata in function prototypes
>       RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in
> ib_uverbs_get_context
> 
> Steve Wise (1):
>       RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support
> 
> Vu Pham (2):
>       UBUNTU: SAUCE: RDMA/mlx5: Set port state to NOP for invalid port_num
>       UBUNTU: SAUCE: net/mlx5: Support modifying max_sfs
> 
> Wen-chien Jesse Sung (1):
>       UBUNTU: [Config] updates for linux-bluefield
> 
> Yevgeny Kliteynik (2):
>       net/mlx5: Geneve, Add basic Geneve encap/decap flow table capabilities
>       net/mlx5: Geneve, Add flow table capabilities for Geneve decap
> with TLV options
> 
> Yishai Hadas (12):
>       IB/mlx5: DEVX handling for indirection MKEY
>       IB/mlx5: Manage indirection mkey upon DEVX flow for ODP
>       IB/mlx5: Add support for ODP for DEVX indirection mkey
>       IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD
>       IB/mlx5: Introduce async DEVX obj query API
>       IB/mlx5: Implement the file ops of DEVX async command FD
>       IB/mlx5: Implement DEVX hot unplug for async command FD
>       IB/mlx5: Fix bad flow upon DEVX mkey creation
>       IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT
>       IB/mlx5: Verify DEVX general object type correctly
>       net/mlx5: Set completion EQs as shared resources
>       net/mlx5: Fix mlx5_core_destroy_cq() error flow
> 
> root (1):
>       UBUNTU: SAUCE: net/mlx5: Expose eswitch encap mode
> 
>  .clang-format                                      |    2 +
>  Documentation/networking/devlink-health.txt        |   86 +
>  Documentation/process/coding-style.rst             |   38 +-
>  .../abi/5.0.0-1002.11/arm64/bluefield.modules      |   13 +-
>  debian.bluefield/config/annotations                |   11 +
>  debian.bluefield/config/config.common.ubuntu       |   30 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c         |    8 +-
>  drivers/infiniband/Kconfig                         |   15 +-
>  drivers/infiniband/core/Makefile                   |    4 +-
>  drivers/infiniband/core/addr.c                     |    1 +
>  drivers/infiniband/core/cache.c                    |  242 ++-
>  drivers/infiniband/core/cgroup.c                   |    5 +-
>  drivers/infiniband/core/cm.c                       |   52 +-
>  drivers/infiniband/core/cma.c                      |  107 +-
>  drivers/infiniband/core/core_priv.h                |   47 +-
>  drivers/infiniband/core/cq.c                       |   21 +-
>  drivers/infiniband/core/device.c                   | 1933 +++++++++++++++-----
>  drivers/infiniband/core/iwcm.c                     |    6 +-
>  drivers/infiniband/core/mad.c                      |    4 +-
>  drivers/infiniband/core/netlink.c                  |    4 +-
>  drivers/infiniband/core/nldev.c                    |  605 ++++--
>  drivers/infiniband/core/rdma_core.c                |  102 +-
>  drivers/infiniband/core/rdma_core.h                |   13 +-
>  drivers/infiniband/core/restrack.c                 |  210 ++-
>  drivers/infiniband/core/restrack.h                 |   28 +
>  drivers/infiniband/core/security.c                 |   39 +-
>  drivers/infiniband/core/sysfs.c                    |  163 +-
>  drivers/infiniband/core/umem.c                     |   13 +-
>  drivers/infiniband/core/umem_odp.c                 |    2 +-
>  drivers/infiniband/core/user_mad.c                 |   62 +-
>  drivers/infiniband/core/uverbs.h                   |    3 +-
>  drivers/infiniband/core/uverbs_cmd.c               |  156 +-
>  drivers/infiniband/core/uverbs_ioctl.c             |   26 +-
>  drivers/infiniband/core/uverbs_main.c              |   69 +-
>  drivers/infiniband/core/uverbs_std_types.c         |   52 +-
>  .../infiniband/core/uverbs_std_types_counters.c    |    5 +-
>  drivers/infiniband/core/uverbs_std_types_cq.c      |   12 +-
>  drivers/infiniband/core/uverbs_std_types_dm.c      |    9 +-
>  .../infiniband/core/uverbs_std_types_flow_action.c |    5 +-
>  drivers/infiniband/core/uverbs_std_types_mr.c      |    9 +-
>  drivers/infiniband/core/uverbs_uapi.c              |   15 +-
>  drivers/infiniband/core/verbs.c                    |  224 +--
>  drivers/infiniband/hw/bnxt_re/ib_verbs.c           |  235 +--
>  drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   46 +-
>  drivers/infiniband/hw/bnxt_re/main.c               |   20 +-
>  drivers/infiniband/hw/bnxt_re/qplib_fp.c           |   12 +-
>  drivers/infiniband/hw/bnxt_re/qplib_fp.h           |    4 +-
>  drivers/infiniband/hw/bnxt_re/qplib_sp.c           |   12 +-
>  drivers/infiniband/hw/bnxt_re/qplib_sp.h           |    4 +-
>  drivers/infiniband/hw/cxgb3/iwch.c                 |    2 +-
>  drivers/infiniband/hw/cxgb3/iwch_provider.c        |  105 +-
>  drivers/infiniband/hw/cxgb4/cq.c                   |   17 +-
>  drivers/infiniband/hw/cxgb4/device.c               |    2 +-
>  drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |   19 +-
>  drivers/infiniband/hw/cxgb4/mem.c                  |    9 +-
>  drivers/infiniband/hw/cxgb4/provider.c             |   70 +-
>  drivers/infiniband/hw/cxgb4/qp.c                   |   47 +-
>  drivers/infiniband/hw/hfi1/sysfs.c                 |   16 +-
>  drivers/infiniband/hw/hfi1/verbs.c                 |    2 +-
>  drivers/infiniband/hw/hns/Kconfig                  |    1 -
>  drivers/infiniband/hw/hns/hns_roce_ah.c            |   36 +-
>  drivers/infiniband/hw/hns/hns_roce_cq.c            |   42 +-
>  drivers/infiniband/hw/hns/hns_roce_db.c            |    6 +-
>  drivers/infiniband/hw/hns/hns_roce_device.h        |   39 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   45 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.h         |    2 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |   34 +-
>  drivers/infiniband/hw/hns/hns_roce_main.c          |   63 +-
>  drivers/infiniband/hw/hns/hns_roce_mr.c            |   13 +-
>  drivers/infiniband/hw/hns/hns_roce_pd.c            |   26 +-
>  drivers/infiniband/hw/hns/hns_roce_qp.c            |   26 +-
>  drivers/infiniband/hw/hns/hns_roce_srq.c           |   59 +-
>  drivers/infiniband/hw/i40iw/i40iw_cm.c             |    3 +-
>  drivers/infiniband/hw/i40iw/i40iw_utils.c          |    1 -
>  drivers/infiniband/hw/i40iw/i40iw_verbs.c          |  143 +-
>  drivers/infiniband/hw/mlx4/Kconfig                 |    1 -
>  drivers/infiniband/hw/mlx4/ah.c                    |  103 +-
>  drivers/infiniband/hw/mlx4/cq.c                    |   55 +-
>  drivers/infiniband/hw/mlx4/doorbell.c              |    8 +-
>  drivers/infiniband/hw/mlx4/mad.c                   |   33 +-
>  drivers/infiniband/hw/mlx4/main.c                  |   82 +-
>  drivers/infiniband/hw/mlx4/mlx4_ib.h               |   35 +-
>  drivers/infiniband/hw/mlx4/mr.c                    |   20 +-
>  drivers/infiniband/hw/mlx4/qp.c                    |  128 +-
>  drivers/infiniband/hw/mlx4/srq.c                   |   67 +-
>  drivers/infiniband/hw/mlx5/Kconfig                 |    1 -
>  drivers/infiniband/hw/mlx5/ah.c                    |   33 +-
>  drivers/infiniband/hw/mlx5/cmd.c                   |  192 +-
>  drivers/infiniband/hw/mlx5/cmd.h                   |   10 +-
>  drivers/infiniband/hw/mlx5/cong.c                  |   15 +-
>  drivers/infiniband/hw/mlx5/cq.c                    |   60 +-
>  drivers/infiniband/hw/mlx5/devx.c                  |  532 +++++-
>  drivers/infiniband/hw/mlx5/doorbell.c              |    6 +-
>  drivers/infiniband/hw/mlx5/flow.c                  |  108 +-
>  drivers/infiniband/hw/mlx5/ib_rep.c                |  135 +-
>  drivers/infiniband/hw/mlx5/ib_rep.h                |   31 +-
>  drivers/infiniband/hw/mlx5/mad.c                   |   11 +-
>  drivers/infiniband/hw/mlx5/main.c                  |  979 ++++++----
>  drivers/infiniband/hw/mlx5/mem.c                   |    5 +-
>  drivers/infiniband/hw/mlx5/mlx5_ib.h               |  165 +-
>  drivers/infiniband/hw/mlx5/mr.c                    |  217 +--
>  drivers/infiniband/hw/mlx5/odp.c                   |  361 +++-
>  drivers/infiniband/hw/mlx5/qp.c                    |  425 +++--
>  drivers/infiniband/hw/mlx5/srq.c                   |   87 +-
>  drivers/infiniband/hw/mlx5/srq.h                   |    4 +-
>  drivers/infiniband/hw/mlx5/srq_cmd.c               |   24 +-
>  drivers/infiniband/hw/mthca/mthca_main.c           |    2 +-
>  drivers/infiniband/hw/mthca/mthca_provider.c       |  274 ++-
>  drivers/infiniband/hw/mthca/mthca_qp.c             |   13 +-
>  drivers/infiniband/hw/mthca/mthca_srq.c            |   21 +-
>  drivers/infiniband/hw/nes/Kconfig                  |    2 +-
>  drivers/infiniband/hw/nes/nes_cm.c                 |    3 +-
>  drivers/infiniband/hw/nes/nes_verbs.c              |  153 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_ah.c           |   32 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_ah.h           |    6 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |   18 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_hw.h           |    6 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_main.c         |   24 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |  254 ++-
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |   29 +-
>  drivers/infiniband/hw/qedr/main.c                  |   31 +-
>  drivers/infiniband/hw/qedr/qedr_roce_cm.c          |   11 +-
>  drivers/infiniband/hw/qedr/verbs.c                 |  188 +-
>  drivers/infiniband/hw/qedr/verbs.h                 |   31 +-
>  drivers/infiniband/hw/qib/qib_sysfs.c              |   18 +-
>  drivers/infiniband/hw/qib/qib_verbs.c              |    2 +-
>  drivers/infiniband/hw/usnic/usnic_ib_main.c        |    6 +-
>  drivers/infiniband/hw/usnic/usnic_ib_sysfs.c       |   26 +-
>  drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |   57 +-
>  drivers/infiniband/hw/usnic/usnic_ib_verbs.h       |   18 +-
>  drivers/infiniband/hw/usnic/usnic_uiom.c           |    3 +-
>  drivers/infiniband/hw/usnic/usnic_uiom.h           |    3 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |   19 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |   34 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c       |    7 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |    9 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c      |   47 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c    |  140 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h    |   33 +-
>  drivers/infiniband/sw/rdmavt/ah.c                  |   38 +-
>  drivers/infiniband/sw/rdmavt/ah.h                  |    8 +-
>  drivers/infiniband/sw/rdmavt/cq.c                  |    7 +-
>  drivers/infiniband/sw/rdmavt/cq.h                  |    3 +-
>  drivers/infiniband/sw/rdmavt/mmap.c                |   16 +-
>  drivers/infiniband/sw/rdmavt/mmap.h                |    6 +-
>  drivers/infiniband/sw/rdmavt/mr.c                  |   10 +-
>  drivers/infiniband/sw/rdmavt/mr.h                  |    7 +-
>  drivers/infiniband/sw/rdmavt/pd.c                  |   30 +-
>  drivers/infiniband/sw/rdmavt/pd.h                  |    6 +-
>  drivers/infiniband/sw/rdmavt/qp.c                  |    6 +-
>  drivers/infiniband/sw/rdmavt/qp.h                  |    2 +-
>  drivers/infiniband/sw/rdmavt/srq.c                 |   48 +-
>  drivers/infiniband/sw/rdmavt/srq.h                 |    7 +-
>  drivers/infiniband/sw/rdmavt/vt.c                  |   37 +-
>  drivers/infiniband/sw/rxe/rxe.c                    |   41 +-
>  drivers/infiniband/sw/rxe/rxe.h                    |   14 +-
>  drivers/infiniband/sw/rxe/rxe_cq.c                 |   10 +-
>  drivers/infiniband/sw/rxe/rxe_loc.h                |   18 +-
>  drivers/infiniband/sw/rxe/rxe_mmap.c               |   14 +-
>  drivers/infiniband/sw/rxe/rxe_mr.c                 |    2 +-
>  drivers/infiniband/sw/rxe/rxe_net.c                |   89 +-
>  drivers/infiniband/sw/rxe/rxe_net.h                |    2 +-
>  drivers/infiniband/sw/rxe/rxe_pool.c               |   81 +-
>  drivers/infiniband/sw/rxe/rxe_pool.h               |    4 +
>  drivers/infiniband/sw/rxe/rxe_qp.c                 |   15 +-
>  drivers/infiniband/sw/rxe/rxe_queue.c              |   22 +-
>  drivers/infiniband/sw/rxe/rxe_queue.h              |   15 +-
>  drivers/infiniband/sw/rxe/rxe_srq.c                |   14 +-
>  drivers/infiniband/sw/rxe/rxe_sysfs.c              |   36 +-
>  drivers/infiniband/sw/rxe/rxe_verbs.c              |  173 +-
>  drivers/infiniband/sw/rxe/rxe_verbs.h              |   11 +-
>  drivers/infiniband/ulp/ipoib/ipoib_main.c          |    4 +-
>  drivers/infiniband/ulp/srp/ib_srp.c                |    5 +-
>  drivers/media/pci/intel/ipu3/ipu3-cio2.c           |    4 +-
>  drivers/net/ethernet/mellanox/mlx5/core/Makefile   |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/cmd.c      |   55 +-
>  drivers/net/ethernet/mellanox/mlx5/core/cq.c       |    9 +-
>  drivers/net/ethernet/mellanox/mlx5/core/ecpf.c     |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en.h       |   18 +-
>  .../ethernet/mellanox/mlx5/core/en/monitor_stats.c |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en/port.c  |  139 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en/port.h  |   16 +-
>  .../net/ethernet/mellanox/mlx5/core/en/reporter.h  |   15 +
>  .../ethernet/mellanox/mlx5/core/en/reporter_tx.c   |  356 ++++
>  .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |  281 ++-
>  drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  245 +--
>  drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |   15 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en_rep.h   |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en_tx.c    |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/eq.c       |   28 +-
>  drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |   11 +
>  drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |    7 +-
>  .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |   38 +-
>  drivers/net/ethernet/mellanox/mlx5/core/events.c   |   75 +
>  .../net/ethernet/mellanox/mlx5/core/fpga/core.c    |    2 -
>  drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |   14 +-
>  drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |  271 ++-
>  drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |   18 +-
>  .../net/ethernet/mellanox/mlx5/core/fs_debugfs.c   | 1324 ++++++++++++++
>  .../net/ethernet/mellanox/mlx5/core/fs_debugfs.h   |  109 ++
>  drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h   |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/mad.c      |   75 -
>  drivers/net/ethernet/mellanox/mlx5/core/main.c     |   89 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/mdev.c  |   26 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/sf.c    |  153 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/sf.h    |    6 +-
>  .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/mr.c       |   11 +-
>  drivers/net/ethernet/mellanox/mlx5/core/port.c     |  106 --
>  drivers/net/ethernet/mellanox/mlx5/core/qp.c       |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/rdma.c     |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/sriov.c    |   51 +-
>  drivers/net/ethernet/mellanox/mlx5/core/transobj.c |   18 +-
>  include/linux/cgroup_rdma.h                        |    2 +-
>  include/linux/mlx5/device.h                        |    5 +
>  include/linux/mlx5/driver.h                        |   40 +-
>  include/linux/mlx5/eswitch.h                       |   32 +-
>  include/linux/mlx5/fs.h                            |    2 +
>  include/linux/mlx5/mlx5_ifc.h                      |  213 ++-
>  include/linux/mlx5/port.h                          |   30 +-
>  include/linux/mlx5/qp.h                            |    3 +-
>  include/linux/mlx5/transobj.h                      |    3 +
>  include/linux/mlx5/vport.h                         |    3 +-
>  include/linux/scatterlist.h                        |   49 +-
>  include/net/devlink.h                              |  175 +-
>  include/net/flow_offload.h                         |    2 +-
>  include/rdma/ib_cache.h                            |    4 +
>  include/rdma/ib_sa.h                               |   13 +
>  include/rdma/ib_umem.h                             |    8 +-
>  include/rdma/ib_umem_odp.h                         |   26 +-
>  include/rdma/ib_verbs.h                            |  544 ++++--
>  include/rdma/rdma_netlink.h                        |   11 +
>  include/rdma/rdma_vt.h                             |    8 +-
>  include/rdma/restrack.h                            |   58 +-
>  include/rdma/uverbs_ioctl.h                        |   18 +
>  include/rdma/uverbs_std_types.h                    |   28 +-
>  include/rdma/uverbs_types.h                        |   19 +-
>  include/trace/events/devlink.h                     |   62 +
>  include/uapi/linux/devlink.h                       |   35 +
>  include/uapi/rdma/ib_user_verbs.h                  |    2 +
>  include/uapi/rdma/mlx5-abi.h                       |    2 +
>  include/uapi/rdma/mlx5_user_ioctl_cmds.h           |   20 +
>  include/uapi/rdma/mlx5_user_ioctl_verbs.h          |   13 +
>  include/uapi/rdma/rdma_netlink.h                   |   70 +-
>  kernel/cgroup/rdma.c                               |    5 +-
>  lib/scatterlist.c                                  |   26 +
>  net/core/devlink.c                                 | 1593 ++++++++++++++--
>  net/core/ethtool.c                                 |    7 +
>  scripts/checkpatch.pl                              |   13 -
>  249 files changed, 12785 insertions(+), 5840 deletions(-)
>  create mode 100644 Documentation/networking/devlink-health.txt
>  create mode 100644 drivers/infiniband/core/restrack.h
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter.h
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.c
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.h
>  delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/mad.c
> 

Didn't really review all that code - since testing is good and I assume they know what they're doing:

Acked-by: Khalid Elmously <khalid.elmously@canonical.com>
Khaled Elmously Oct. 21, 2019, 4:45 p.m. UTC | #5
On 2019-10-18 20:57:02 , Jesse Sung wrote:
> Buglink: https://launchpad.net/bugs/1848324
> 
> SRU Justification
> 
> * Impact:
> Some issues found while Mellanox verifying linux-bluefield. These are
> the patches they sent to address those issues.
> 
> * Risk of Regression:
> Low. Patches are from Mellanox and will be only apply to linux-bluefield.
> 
> ----------------------------------------------------------------
> The following changes since commit e73b251209f5e1de8daf75941af6ac1f7cbf230f:
> 
>   UBUNTU: Ubuntu-bluefield-5.0.0-1003.12 (2019-10-03 11:06:04 -0700)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~wenchien/+git/ubuntu-kernel bluefield-20191016
> 
> for you to fetch changes up to c42e649a6e6cca5d06207682e1f009ec7dfa24bc:
> 
>   UBUNTU: [Config] updates for linux-bluefield (2019-10-18 20:38:45 +0800)
> 
> ----------------------------------------------------------------
> Ariel Levkovich (8):
>       net/mlx5: Expose SW ICM related device memory capabilities
>       net/mlx5: Expose TIR ICM address in command outbox
>       net/mlx5: Introduce new TIR creation core API
>       IB/mlx5: Expose TIR ICM address to user space
>       IB/mlx5: Support device memory type attribute
>       IB/mlx5: Warn on allocated MEMIC buffers during cleanup
>       IB/mlx5: Add steering SW ICM device memory type
>       IB/mlx5: Device resource control for privileged DEVX user
> 
> Aya Levin (15):
>       devlink: Add Documentation/networking/devlink-health.txt
>       net/mlx5: Refactor queries to speed fields in Port Type and Speed register
>       net/mlx5: Add new fields to Port Type and Speed register
>       net/mlx5: Add support to ext_* fields introduced in Port Type
> and Speed register
>       IB/mlx5: Add support for 50Gbps per lane link modes
>       net/mlx5: ethtool, Add ethtool support for 50Gbps per lane link modes
>       devlink: Rename devlink health attributes
>       devlink: Modify reply of DEVLINK_CMD_HEALTH_REPORTER_GET
>       IB/mlx5: Fix mapping of link-mode to IB width and speed
>       net/mlx5: ethtool, Fix type analysis of advertised link-mode
>       net/mlx5: ethtool, Allow legacy link-modes configuration via
> non-extended ptys
>       net/mlx5: Expose MPEIN (Management PCIE INfo) register layout
>       net/mlx5: Handle event of power detection in the PCIE slot
>       IB/mlx5: Restrict 'DELAY_DROP_TIMEOUT' subtype to Ethernet interfaces
>       net/mlx5: Enable general events on all interfaces
> 
> Bodong Wang (4):
>       UBUNTU: SAUCE: IB/mlx5: Check both CONFIG_ARM and CONFIG_ARM64
>       net/mlx5: Fix peer pf disable hca command
>       UBUNTU: SAUCE: net/mlx5: Check eswitch manager for all relevant FS command
>       UBUNTU: SAUCE: net/mlx5: E-Switch, Have vport placeholder for
> ECPF eswich manager
> 
> Eli Britstein (1):
>       flow_offload: Fix flow action infrastructure
> 
> Eran Ben Elisha (10):
>       devlink: Add health buffer support
>       devlink: Add health reporter create/destroy functionality
>       devlink: Add health report functionality
>       devlink: Add health get command
>       devlink: Add health set command
>       devlink: Add health recover command
>       devlink: Add health diagnose command
>       devlink: Add health dump {get,clear} commands
>       net/mlx5e: Add TX reporter support
>       net/mlx5e: Add TX timeout support for mlx5e TX reporter
> 
> Gal Pressman (1):
>       RDMA: Add indication for in kernel API support to IB device
> 
> Greg Kroah-Hartman (1):
>       infiniband: mlx5: no need to check return value of
> debugfs_create functions
> 
> Huy Nguyen (1):
>       net/mlx5: Support ndo bridge_setlink and getlink
> 
> Jakub Kicinski (4):
>       ethtool: add compat for devlink info
>       devlink: fix condition for compat device info
>       devlink: don't allocate attrs on the stack
>       devlink: add device information API
> 
> Jason Gunthorpe (29):
>       IB/{core,hw}: Have ib_umem_get extract the ib_ucontext from ib_udata
>       RDMA/device: Use __ib_device_get_by_name() in ib_device_rename()
>       coding-style: Clarify the expectations around bool
>       net/mlx5: Make mlx5_cmd_exec_cb() a safe API
>       RDMA/device: Check that the rename is nop under the lock
>       RDMA/device: Ensure that security memory is always freed
>       RDMA/device: Call ib_cache_release_one() only from ib_device_release()
>       RDMA/device: Get rid of reg_state
>       RDMA/device: Use an ida instead of a free page in alloc_name
>       RDMA/devices: Use xarray to store the clients
>       RDMA/devices: Use xarray to store the client_data
>       RDMA/devices: Re-organize device.c locking
>       lib/scatterlist: Provide a DMA page iterator
>       RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq
>       RDMA: Add and use rdma_for_each_port
>       RDMA/device: Consolidate ib_device per_port data into one place
>       RDMA/cache: Move the cache per-port data into the main ib_port_data
>       RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev
>       RDMA/device: Add ib_device_get_by_netdev()
>       RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding
>       RDMA/device: Provide APIs from the core code to help unregistration
>       RDMA/rxe: Use driver_unregister and new unregistration API
>       RDMA/rxe: Add ib_device_get_by_name() and use it in rxe
>       RDMA/rxe: Close a race after ib_register_device
>       IB/mlx5: Remove references to uboject->context
>       IB: When attrs.udata/ufile is available use that instead of uobject
>       RDMA/drivers: Convert easy drivers to use ib_device_set_netdev()
>       RDMA: Remove rdma_user_mmap_page
>       RDMA/core: Clear out the udata before error unwind
> 
> Jianbo Liu (1):
>       UBUNTU: SAUCE: RDMA/mlx5: Add vport metadata matching for IB representors
> 
> Leon Romanovsky (49):
>       RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING
>       RDMA/core: Don't depend device ODP capabilities on kconfig option
>       RDMA/mlx5: Introduce and reuse helper to identify ODP MR
>       RDMA/mlx5: Embed into the code flow the ODP config option
>       RDMA/mlx5: Delete declaration of already removed function
>       RDMA: Clear PD objects during their allocation
>       RDMA: Clear CQ objects during their allocation
>       RDMA: Clear CTX objects during their allocation
>       RDMA/mad: Reduce MAD scope to mlx5_ib only
>       RDMA: Provide safe ib_alloc_device() function
>       RDMA/nldev: Dynamically generate restrack dumpit callbacks
>       RDMA/nldev: Factor out the PID namespace check
>       RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks
>       RDMA/core: Simplify restrack interface
>       RDMA/restrack: Refactor user/kernel restrack additions
>       RDMA/core: Use the ops infrastructure to keep all callbacks in one place
>       RDMA/cma: Remove CM_ID statistics provided by rdma-cm module
>       RDMA/core: Share driver structure size with core
>       RDMA: Handle PD allocations by IB/core
>       net/mlx5: Align ODP capability function with netdev coding style
>       RDMA/restrack: Convert internal DB from hash to XArray
>       RDMA/restrack: Translate from ID to restrack object
>       RDMA/nldev: Add resource tracker doit callback
>       RDMA/restrack: Reduce scope of synchronization lock while updating DB
>       RDMA/restrack: Hide restrack DB from IB/core
>       net/mlx5: Factor out HCA capabilities functions
>       RDMA/restrack: Prepare restrack_root to addition of extra fields per-type
>       RDMA/nldev: Share with user-space object IDs
>       RDMA/nldev: Provide parent IDs for PD, MR and QP objects
>       RDMA/nldev: Connect QP number to .doit callback
>       RDMA/nldev: Don't expose number of not-visible entries
>       net/mlx5e: Add missing static function annotation
>       net/mlx5: Delete unused FPGA QPN variable
>       RDMA/iwcm: Fix string truncation error
>       RDMA: Handle ucontext allocations by IB/core
>       RDMA/uverbs: Don't do double free of allocated PD
>       RDMA/netlink: Remove unused data structure
>       RDMA/core: Don't compare specific bit after boolean AND
>       RDMA/cma: Set proper port number as index
>       RDMA/mlx5: Cleanup WQE page fault handler
>       RDMA/cm: Remove useless zeroing of static global variable
>       RDMA/cm: Move debug counters to be under relevant IB device
>       RDMA/nldev: Return device protocol
>       RDMA/core: Support object allocation in atomic context
>       RDMA: Handle AH allocations by IB/core
>       RDMA: Handle SRQ allocations by IB/core
>       RDMA/rdmavt: Catch use-after-free access of AH structures
>       RDMA/mlx5: Remove MAYEXEC flag
>       RDMA/device: Don't fire uevent before device is fully initialized
> 
> Maor Gottlieb (3):
>       IB/mlx5: Don't override existing ip_protocol
>       RDMA/mlx5: Add query e-switch vport context to devx white list
>       UBUNTU: SAUCE: RDMA/mlx5: Consider eswitch encap mode
> 
> Mark Bloch (18):
>       RDMA/mlx5: Fix memory leak in case we fail to add an IB device
>       net/mlx5: E-Switch, add a new prio to be used by the RDMA side
>       RDMA/mlx5: Move netdev info into the port struct
>       RDMA/mlx5: Free IB device on remove
>       RDMA/mlx5: Move ports allocation to outside of INIT stage
>       RDMA/mlx5: Use correct size for device resources
>       RDMA/mlx5: Move rep into port struct
>       RDMA/mlx5: Move default representors SQ steering to rule to modify QP
>       RDMA/mlx5: Refactor netdev affinity code
>       RDMA/mlx5: Move SMI caps logic
>       RDMA/mlx5: Move to single device multiport ports in switchdev mode
>       RDMA/mlx5: Remove VF representor profile
>       RDMA/mlx5: Access the prio bypass inside the FDB flow table namespace
>       RDMA/mlx5: Create flow table with max size supported
>       RDMA/mlx5: Allow inserting a steering rule to the FDB
>       RDMA/mlx5: Allow DEVX and raw creation flow on reps
>       RDMA/mlx5: Initialize roce port info before multiport master init
>       RDMA/mlx5: Don't create IB representors when in multiport RoCE mode
> 
> Mark Zhang (2):
>       UBUNTU: SAUCE: net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap
>       UBUNTU: SAUCE: IB/core: udp_sport support for sa_path and rdma_ah
> 
> Moni Shoua (17):
>       net/mlx5: Add XRC transport to ODP device capabilities layout
>       net/mlx5: Set ODP SRQ support in firmware
>       IB/mlx5: Fix the locking of SRQ objects in ODP events
>       IB/core: Allocate a bit for SRQ ODP support
>       IB/uverbs: Expose XRC ODP device capabilities
>       IB/mlx5: Remove useless check in ODP handler
>       IB/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature
>       IB/mlx5: Add XRC initiator ODP support
>       IB/mlx5: Let read user wqe also from SRQ buffer
>       IB/mlx5: Add ODP SRQ support
>       IB/mlx5: Advertise SRQ ODP support for supported transports
>       IB/mlx5: Advertise XRC ODP support
>       IB/mlx5: Protect against prefetch of invalid MR
>       IB/mlx5: Validate correct PD before prefetch MR
>       IB/core: Abort page fault handler silently during owning process exit
>       IB/mlx5: Set correct write permissions for implicit ODP MR
>       net/mlx5: ODP support for XRC transport is not enabled by default in FW
> 
> Parav Pandit (40):
>       RDMA: Rename port_callback to init_port
>       RDMA: Introduce and use rdma_device_to_ibdev()
>       IB/core: Simplify rdma cgroup registration
>       IB/umad: Avoid additional device reference during open()/close()
>       IB/umad: Do not check status of nonseekable_open()
>       IB/mlx5: Consider vlan of lower netdev for macvlan GID entries
>       devlink: Add WARN_ON to catch errors of not cleaning devlink objects
>       devlink: Return right error code in case of errors for region read
>       devlink: Fix list access without lock while reading region
>       RDMA/core: Use simpler device_del() instead of device_unregister()
>       RDMA/core: Introduce and use ib_setup_port_attrs()
>       RDMA/core: Move device addition deletion to device.c
>       net/mlx5: Simplify sriov enable/disable flow
>       net/mlx5: Simplify mlx5_sriov_is_enabled() by using pci core API
>       RDMA/core: Introduce ib_core_device to hold device
>       RDMA/core: Restrict sysfs entries view to init_net
>       RDMA/core: Implement compat device/sysfs tree in net namespace
>       RDMA/core: Support core port attributes in non init_net
>       RDMA/core: Add module param to disable device sharing among net ns
>       RDMA: Check net namespace access for uverbs, umad, cma and nldev
>       RDMA/core: Extend ib_device_get_by_index for net namespace
>       RDMA/core: Add interface to read device namespace sharing mode
>       RDMA/core: Add command to set ib_core device net namspace sharing mode
>       RDMA/core: Avoid freeing netdevs in disable_device()
>       RDMA/core: Introduce a helper function to change net namespace
> of rdma device
>       RDMA/core: Add a netlink command to change net namespace of rdma device
>       IB/core: Allow vlan link local address based RoCE GIDs
>       UBUNTU: SAUCE: net/mlx5_core: Add debugfs for flow steering
>       UBUNTU: SAUCE: net/mlx5: Add per-namespace flow table default
> miss action support
>       UBUNTU: SAUCE: net/mlx5: Create bypass and loopback flow
> steering namespaces for RDMA RX
>       UBUNTU: SAUCE: RDMA/mlx5: RDMA_RX flow type support for user applications
>       RDMA/core: Do not invoke init_port on compat devices
>       RDMA/rxe: Consider skb reserve space based on netdev of GID
>       IB/cm: Reduce dependency on gid attribute ndev check
>       RDMA: Introduce and use GID attr helper to read RoCE L2 fields
>       RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev
>       RDMA/core: Allow detaching gid attribute netdevice for RoCE
>       RDMA/core: Change system parameters callback from dumpit to doit
>       {IB, net}/mlx5: No need to typecast from void* to mlx5_ib_dev*
>       {IB,net}/mlx5: Constify rep ops functions pointers
> 
> Saeed Mahameed (2):
>       net/mlx5: Fix compilation warning in eq.c
>       net/mlx5: Fix broken hca cap offset
> 
> Shamir Rabinovitch (10):
>       IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs
>       IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl
> and cmd flows
>       IB/verbs: Add helper function rdma_udata_to_drv_context
>       IB/{hw,sw}: Remove 'uobject->context' dependency in object creation APIs
>       IB: ucontext should be set properly for all cmd & ioctl paths
>       IB: Pass uverbs_attr_bundle down uobject destroy path
>       IB: Pass uverbs_attr_bundle down ib_x destroy path
>       IB: Remove 'uobject->context' dependency in object destroy APIs
>       IB: Pass only ib_udata in function prototypes
>       RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in
> ib_uverbs_get_context
> 
> Steve Wise (1):
>       RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support
> 
> Vu Pham (2):
>       UBUNTU: SAUCE: RDMA/mlx5: Set port state to NOP for invalid port_num
>       UBUNTU: SAUCE: net/mlx5: Support modifying max_sfs
> 
> Wen-chien Jesse Sung (1):
>       UBUNTU: [Config] updates for linux-bluefield
> 
> Yevgeny Kliteynik (2):
>       net/mlx5: Geneve, Add basic Geneve encap/decap flow table capabilities
>       net/mlx5: Geneve, Add flow table capabilities for Geneve decap
> with TLV options
> 
> Yishai Hadas (12):
>       IB/mlx5: DEVX handling for indirection MKEY
>       IB/mlx5: Manage indirection mkey upon DEVX flow for ODP
>       IB/mlx5: Add support for ODP for DEVX indirection mkey
>       IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD
>       IB/mlx5: Introduce async DEVX obj query API
>       IB/mlx5: Implement the file ops of DEVX async command FD
>       IB/mlx5: Implement DEVX hot unplug for async command FD
>       IB/mlx5: Fix bad flow upon DEVX mkey creation
>       IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT
>       IB/mlx5: Verify DEVX general object type correctly
>       net/mlx5: Set completion EQs as shared resources
>       net/mlx5: Fix mlx5_core_destroy_cq() error flow
> 
> root (1):
>       UBUNTU: SAUCE: net/mlx5: Expose eswitch encap mode
> 
>  .clang-format                                      |    2 +
>  Documentation/networking/devlink-health.txt        |   86 +
>  Documentation/process/coding-style.rst             |   38 +-
>  .../abi/5.0.0-1002.11/arm64/bluefield.modules      |   13 +-
>  debian.bluefield/config/annotations                |   11 +
>  debian.bluefield/config/config.common.ubuntu       |   30 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c         |    8 +-
>  drivers/infiniband/Kconfig                         |   15 +-
>  drivers/infiniband/core/Makefile                   |    4 +-
>  drivers/infiniband/core/addr.c                     |    1 +
>  drivers/infiniband/core/cache.c                    |  242 ++-
>  drivers/infiniband/core/cgroup.c                   |    5 +-
>  drivers/infiniband/core/cm.c                       |   52 +-
>  drivers/infiniband/core/cma.c                      |  107 +-
>  drivers/infiniband/core/core_priv.h                |   47 +-
>  drivers/infiniband/core/cq.c                       |   21 +-
>  drivers/infiniband/core/device.c                   | 1933 +++++++++++++++-----
>  drivers/infiniband/core/iwcm.c                     |    6 +-
>  drivers/infiniband/core/mad.c                      |    4 +-
>  drivers/infiniband/core/netlink.c                  |    4 +-
>  drivers/infiniband/core/nldev.c                    |  605 ++++--
>  drivers/infiniband/core/rdma_core.c                |  102 +-
>  drivers/infiniband/core/rdma_core.h                |   13 +-
>  drivers/infiniband/core/restrack.c                 |  210 ++-
>  drivers/infiniband/core/restrack.h                 |   28 +
>  drivers/infiniband/core/security.c                 |   39 +-
>  drivers/infiniband/core/sysfs.c                    |  163 +-
>  drivers/infiniband/core/umem.c                     |   13 +-
>  drivers/infiniband/core/umem_odp.c                 |    2 +-
>  drivers/infiniband/core/user_mad.c                 |   62 +-
>  drivers/infiniband/core/uverbs.h                   |    3 +-
>  drivers/infiniband/core/uverbs_cmd.c               |  156 +-
>  drivers/infiniband/core/uverbs_ioctl.c             |   26 +-
>  drivers/infiniband/core/uverbs_main.c              |   69 +-
>  drivers/infiniband/core/uverbs_std_types.c         |   52 +-
>  .../infiniband/core/uverbs_std_types_counters.c    |    5 +-
>  drivers/infiniband/core/uverbs_std_types_cq.c      |   12 +-
>  drivers/infiniband/core/uverbs_std_types_dm.c      |    9 +-
>  .../infiniband/core/uverbs_std_types_flow_action.c |    5 +-
>  drivers/infiniband/core/uverbs_std_types_mr.c      |    9 +-
>  drivers/infiniband/core/uverbs_uapi.c              |   15 +-
>  drivers/infiniband/core/verbs.c                    |  224 +--
>  drivers/infiniband/hw/bnxt_re/ib_verbs.c           |  235 +--
>  drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   46 +-
>  drivers/infiniband/hw/bnxt_re/main.c               |   20 +-
>  drivers/infiniband/hw/bnxt_re/qplib_fp.c           |   12 +-
>  drivers/infiniband/hw/bnxt_re/qplib_fp.h           |    4 +-
>  drivers/infiniband/hw/bnxt_re/qplib_sp.c           |   12 +-
>  drivers/infiniband/hw/bnxt_re/qplib_sp.h           |    4 +-
>  drivers/infiniband/hw/cxgb3/iwch.c                 |    2 +-
>  drivers/infiniband/hw/cxgb3/iwch_provider.c        |  105 +-
>  drivers/infiniband/hw/cxgb4/cq.c                   |   17 +-
>  drivers/infiniband/hw/cxgb4/device.c               |    2 +-
>  drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |   19 +-
>  drivers/infiniband/hw/cxgb4/mem.c                  |    9 +-
>  drivers/infiniband/hw/cxgb4/provider.c             |   70 +-
>  drivers/infiniband/hw/cxgb4/qp.c                   |   47 +-
>  drivers/infiniband/hw/hfi1/sysfs.c                 |   16 +-
>  drivers/infiniband/hw/hfi1/verbs.c                 |    2 +-
>  drivers/infiniband/hw/hns/Kconfig                  |    1 -
>  drivers/infiniband/hw/hns/hns_roce_ah.c            |   36 +-
>  drivers/infiniband/hw/hns/hns_roce_cq.c            |   42 +-
>  drivers/infiniband/hw/hns/hns_roce_db.c            |    6 +-
>  drivers/infiniband/hw/hns/hns_roce_device.h        |   39 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   45 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.h         |    2 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |   34 +-
>  drivers/infiniband/hw/hns/hns_roce_main.c          |   63 +-
>  drivers/infiniband/hw/hns/hns_roce_mr.c            |   13 +-
>  drivers/infiniband/hw/hns/hns_roce_pd.c            |   26 +-
>  drivers/infiniband/hw/hns/hns_roce_qp.c            |   26 +-
>  drivers/infiniband/hw/hns/hns_roce_srq.c           |   59 +-
>  drivers/infiniband/hw/i40iw/i40iw_cm.c             |    3 +-
>  drivers/infiniband/hw/i40iw/i40iw_utils.c          |    1 -
>  drivers/infiniband/hw/i40iw/i40iw_verbs.c          |  143 +-
>  drivers/infiniband/hw/mlx4/Kconfig                 |    1 -
>  drivers/infiniband/hw/mlx4/ah.c                    |  103 +-
>  drivers/infiniband/hw/mlx4/cq.c                    |   55 +-
>  drivers/infiniband/hw/mlx4/doorbell.c              |    8 +-
>  drivers/infiniband/hw/mlx4/mad.c                   |   33 +-
>  drivers/infiniband/hw/mlx4/main.c                  |   82 +-
>  drivers/infiniband/hw/mlx4/mlx4_ib.h               |   35 +-
>  drivers/infiniband/hw/mlx4/mr.c                    |   20 +-
>  drivers/infiniband/hw/mlx4/qp.c                    |  128 +-
>  drivers/infiniband/hw/mlx4/srq.c                   |   67 +-
>  drivers/infiniband/hw/mlx5/Kconfig                 |    1 -
>  drivers/infiniband/hw/mlx5/ah.c                    |   33 +-
>  drivers/infiniband/hw/mlx5/cmd.c                   |  192 +-
>  drivers/infiniband/hw/mlx5/cmd.h                   |   10 +-
>  drivers/infiniband/hw/mlx5/cong.c                  |   15 +-
>  drivers/infiniband/hw/mlx5/cq.c                    |   60 +-
>  drivers/infiniband/hw/mlx5/devx.c                  |  532 +++++-
>  drivers/infiniband/hw/mlx5/doorbell.c              |    6 +-
>  drivers/infiniband/hw/mlx5/flow.c                  |  108 +-
>  drivers/infiniband/hw/mlx5/ib_rep.c                |  135 +-
>  drivers/infiniband/hw/mlx5/ib_rep.h                |   31 +-
>  drivers/infiniband/hw/mlx5/mad.c                   |   11 +-
>  drivers/infiniband/hw/mlx5/main.c                  |  979 ++++++----
>  drivers/infiniband/hw/mlx5/mem.c                   |    5 +-
>  drivers/infiniband/hw/mlx5/mlx5_ib.h               |  165 +-
>  drivers/infiniband/hw/mlx5/mr.c                    |  217 +--
>  drivers/infiniband/hw/mlx5/odp.c                   |  361 +++-
>  drivers/infiniband/hw/mlx5/qp.c                    |  425 +++--
>  drivers/infiniband/hw/mlx5/srq.c                   |   87 +-
>  drivers/infiniband/hw/mlx5/srq.h                   |    4 +-
>  drivers/infiniband/hw/mlx5/srq_cmd.c               |   24 +-
>  drivers/infiniband/hw/mthca/mthca_main.c           |    2 +-
>  drivers/infiniband/hw/mthca/mthca_provider.c       |  274 ++-
>  drivers/infiniband/hw/mthca/mthca_qp.c             |   13 +-
>  drivers/infiniband/hw/mthca/mthca_srq.c            |   21 +-
>  drivers/infiniband/hw/nes/Kconfig                  |    2 +-
>  drivers/infiniband/hw/nes/nes_cm.c                 |    3 +-
>  drivers/infiniband/hw/nes/nes_verbs.c              |  153 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_ah.c           |   32 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_ah.h           |    6 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |   18 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_hw.h           |    6 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_main.c         |   24 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |  254 ++-
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |   29 +-
>  drivers/infiniband/hw/qedr/main.c                  |   31 +-
>  drivers/infiniband/hw/qedr/qedr_roce_cm.c          |   11 +-
>  drivers/infiniband/hw/qedr/verbs.c                 |  188 +-
>  drivers/infiniband/hw/qedr/verbs.h                 |   31 +-
>  drivers/infiniband/hw/qib/qib_sysfs.c              |   18 +-
>  drivers/infiniband/hw/qib/qib_verbs.c              |    2 +-
>  drivers/infiniband/hw/usnic/usnic_ib_main.c        |    6 +-
>  drivers/infiniband/hw/usnic/usnic_ib_sysfs.c       |   26 +-
>  drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |   57 +-
>  drivers/infiniband/hw/usnic/usnic_ib_verbs.h       |   18 +-
>  drivers/infiniband/hw/usnic/usnic_uiom.c           |    3 +-
>  drivers/infiniband/hw/usnic/usnic_uiom.h           |    3 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |   19 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |   34 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c       |    7 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |    9 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c      |   47 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c    |  140 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h    |   33 +-
>  drivers/infiniband/sw/rdmavt/ah.c                  |   38 +-
>  drivers/infiniband/sw/rdmavt/ah.h                  |    8 +-
>  drivers/infiniband/sw/rdmavt/cq.c                  |    7 +-
>  drivers/infiniband/sw/rdmavt/cq.h                  |    3 +-
>  drivers/infiniband/sw/rdmavt/mmap.c                |   16 +-
>  drivers/infiniband/sw/rdmavt/mmap.h                |    6 +-
>  drivers/infiniband/sw/rdmavt/mr.c                  |   10 +-
>  drivers/infiniband/sw/rdmavt/mr.h                  |    7 +-
>  drivers/infiniband/sw/rdmavt/pd.c                  |   30 +-
>  drivers/infiniband/sw/rdmavt/pd.h                  |    6 +-
>  drivers/infiniband/sw/rdmavt/qp.c                  |    6 +-
>  drivers/infiniband/sw/rdmavt/qp.h                  |    2 +-
>  drivers/infiniband/sw/rdmavt/srq.c                 |   48 +-
>  drivers/infiniband/sw/rdmavt/srq.h                 |    7 +-
>  drivers/infiniband/sw/rdmavt/vt.c                  |   37 +-
>  drivers/infiniband/sw/rxe/rxe.c                    |   41 +-
>  drivers/infiniband/sw/rxe/rxe.h                    |   14 +-
>  drivers/infiniband/sw/rxe/rxe_cq.c                 |   10 +-
>  drivers/infiniband/sw/rxe/rxe_loc.h                |   18 +-
>  drivers/infiniband/sw/rxe/rxe_mmap.c               |   14 +-
>  drivers/infiniband/sw/rxe/rxe_mr.c                 |    2 +-
>  drivers/infiniband/sw/rxe/rxe_net.c                |   89 +-
>  drivers/infiniband/sw/rxe/rxe_net.h                |    2 +-
>  drivers/infiniband/sw/rxe/rxe_pool.c               |   81 +-
>  drivers/infiniband/sw/rxe/rxe_pool.h               |    4 +
>  drivers/infiniband/sw/rxe/rxe_qp.c                 |   15 +-
>  drivers/infiniband/sw/rxe/rxe_queue.c              |   22 +-
>  drivers/infiniband/sw/rxe/rxe_queue.h              |   15 +-
>  drivers/infiniband/sw/rxe/rxe_srq.c                |   14 +-
>  drivers/infiniband/sw/rxe/rxe_sysfs.c              |   36 +-
>  drivers/infiniband/sw/rxe/rxe_verbs.c              |  173 +-
>  drivers/infiniband/sw/rxe/rxe_verbs.h              |   11 +-
>  drivers/infiniband/ulp/ipoib/ipoib_main.c          |    4 +-
>  drivers/infiniband/ulp/srp/ib_srp.c                |    5 +-
>  drivers/media/pci/intel/ipu3/ipu3-cio2.c           |    4 +-
>  drivers/net/ethernet/mellanox/mlx5/core/Makefile   |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/cmd.c      |   55 +-
>  drivers/net/ethernet/mellanox/mlx5/core/cq.c       |    9 +-
>  drivers/net/ethernet/mellanox/mlx5/core/ecpf.c     |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en.h       |   18 +-
>  .../ethernet/mellanox/mlx5/core/en/monitor_stats.c |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en/port.c  |  139 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en/port.h  |   16 +-
>  .../net/ethernet/mellanox/mlx5/core/en/reporter.h  |   15 +
>  .../ethernet/mellanox/mlx5/core/en/reporter_tx.c   |  356 ++++
>  .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |  281 ++-
>  drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  245 +--
>  drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |   15 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en_rep.h   |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en_tx.c    |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/eq.c       |   28 +-
>  drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |   11 +
>  drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |    7 +-
>  .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |   38 +-
>  drivers/net/ethernet/mellanox/mlx5/core/events.c   |   75 +
>  .../net/ethernet/mellanox/mlx5/core/fpga/core.c    |    2 -
>  drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |   14 +-
>  drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |  271 ++-
>  drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |   18 +-
>  .../net/ethernet/mellanox/mlx5/core/fs_debugfs.c   | 1324 ++++++++++++++
>  .../net/ethernet/mellanox/mlx5/core/fs_debugfs.h   |  109 ++
>  drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h   |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/mad.c      |   75 -
>  drivers/net/ethernet/mellanox/mlx5/core/main.c     |   89 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/mdev.c  |   26 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/sf.c    |  153 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/sf.h    |    6 +-
>  .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/mr.c       |   11 +-
>  drivers/net/ethernet/mellanox/mlx5/core/port.c     |  106 --
>  drivers/net/ethernet/mellanox/mlx5/core/qp.c       |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/rdma.c     |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/sriov.c    |   51 +-
>  drivers/net/ethernet/mellanox/mlx5/core/transobj.c |   18 +-
>  include/linux/cgroup_rdma.h                        |    2 +-
>  include/linux/mlx5/device.h                        |    5 +
>  include/linux/mlx5/driver.h                        |   40 +-
>  include/linux/mlx5/eswitch.h                       |   32 +-
>  include/linux/mlx5/fs.h                            |    2 +
>  include/linux/mlx5/mlx5_ifc.h                      |  213 ++-
>  include/linux/mlx5/port.h                          |   30 +-
>  include/linux/mlx5/qp.h                            |    3 +-
>  include/linux/mlx5/transobj.h                      |    3 +
>  include/linux/mlx5/vport.h                         |    3 +-
>  include/linux/scatterlist.h                        |   49 +-
>  include/net/devlink.h                              |  175 +-
>  include/net/flow_offload.h                         |    2 +-
>  include/rdma/ib_cache.h                            |    4 +
>  include/rdma/ib_sa.h                               |   13 +
>  include/rdma/ib_umem.h                             |    8 +-
>  include/rdma/ib_umem_odp.h                         |   26 +-
>  include/rdma/ib_verbs.h                            |  544 ++++--
>  include/rdma/rdma_netlink.h                        |   11 +
>  include/rdma/rdma_vt.h                             |    8 +-
>  include/rdma/restrack.h                            |   58 +-
>  include/rdma/uverbs_ioctl.h                        |   18 +
>  include/rdma/uverbs_std_types.h                    |   28 +-
>  include/rdma/uverbs_types.h                        |   19 +-
>  include/trace/events/devlink.h                     |   62 +
>  include/uapi/linux/devlink.h                       |   35 +
>  include/uapi/rdma/ib_user_verbs.h                  |    2 +
>  include/uapi/rdma/mlx5-abi.h                       |    2 +
>  include/uapi/rdma/mlx5_user_ioctl_cmds.h           |   20 +
>  include/uapi/rdma/mlx5_user_ioctl_verbs.h          |   13 +
>  include/uapi/rdma/rdma_netlink.h                   |   70 +-
>  kernel/cgroup/rdma.c                               |    5 +-
>  lib/scatterlist.c                                  |   26 +
>  net/core/devlink.c                                 | 1593 ++++++++++++++--
>  net/core/ethtool.c                                 |    7 +
>  scripts/checkpatch.pl                              |   13 -
>  249 files changed, 12785 insertions(+), 5840 deletions(-)
>  create mode 100644 Documentation/networking/devlink-health.txt
>  create mode 100644 drivers/infiniband/core/restrack.h
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter.h
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.c
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.h
>  delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/mad.c
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Kleber Souza Oct. 30, 2019, 10:17 a.m. UTC | #6
On 2019-10-18 14:57, Jesse Sung wrote:
> Buglink: https://launchpad.net/bugs/1848324

The format should be:

BugLink: [...]

please note that capital 'L'.


Kleber

> 
> SRU Justification
> 
> * Impact:
> Some issues found while Mellanox verifying linux-bluefield. These are
> the patches they sent to address those issues.
> 
> * Risk of Regression:
> Low. Patches are from Mellanox and will be only apply to linux-bluefield.
> 
> ----------------------------------------------------------------
> The following changes since commit e73b251209f5e1de8daf75941af6ac1f7cbf230f:
> 
>   UBUNTU: Ubuntu-bluefield-5.0.0-1003.12 (2019-10-03 11:06:04 -0700)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~wenchien/+git/ubuntu-kernel bluefield-20191016
> 
> for you to fetch changes up to c42e649a6e6cca5d06207682e1f009ec7dfa24bc:
> 
>   UBUNTU: [Config] updates for linux-bluefield (2019-10-18 20:38:45 +0800)
> 
> ----------------------------------------------------------------
> Ariel Levkovich (8):
>       net/mlx5: Expose SW ICM related device memory capabilities
>       net/mlx5: Expose TIR ICM address in command outbox
>       net/mlx5: Introduce new TIR creation core API
>       IB/mlx5: Expose TIR ICM address to user space
>       IB/mlx5: Support device memory type attribute
>       IB/mlx5: Warn on allocated MEMIC buffers during cleanup
>       IB/mlx5: Add steering SW ICM device memory type
>       IB/mlx5: Device resource control for privileged DEVX user
> 
> Aya Levin (15):
>       devlink: Add Documentation/networking/devlink-health.txt
>       net/mlx5: Refactor queries to speed fields in Port Type and Speed register
>       net/mlx5: Add new fields to Port Type and Speed register
>       net/mlx5: Add support to ext_* fields introduced in Port Type
> and Speed register
>       IB/mlx5: Add support for 50Gbps per lane link modes
>       net/mlx5: ethtool, Add ethtool support for 50Gbps per lane link modes
>       devlink: Rename devlink health attributes
>       devlink: Modify reply of DEVLINK_CMD_HEALTH_REPORTER_GET
>       IB/mlx5: Fix mapping of link-mode to IB width and speed
>       net/mlx5: ethtool, Fix type analysis of advertised link-mode
>       net/mlx5: ethtool, Allow legacy link-modes configuration via
> non-extended ptys
>       net/mlx5: Expose MPEIN (Management PCIE INfo) register layout
>       net/mlx5: Handle event of power detection in the PCIE slot
>       IB/mlx5: Restrict 'DELAY_DROP_TIMEOUT' subtype to Ethernet interfaces
>       net/mlx5: Enable general events on all interfaces
> 
> Bodong Wang (4):
>       UBUNTU: SAUCE: IB/mlx5: Check both CONFIG_ARM and CONFIG_ARM64
>       net/mlx5: Fix peer pf disable hca command
>       UBUNTU: SAUCE: net/mlx5: Check eswitch manager for all relevant FS command
>       UBUNTU: SAUCE: net/mlx5: E-Switch, Have vport placeholder for
> ECPF eswich manager
> 
> Eli Britstein (1):
>       flow_offload: Fix flow action infrastructure
> 
> Eran Ben Elisha (10):
>       devlink: Add health buffer support
>       devlink: Add health reporter create/destroy functionality
>       devlink: Add health report functionality
>       devlink: Add health get command
>       devlink: Add health set command
>       devlink: Add health recover command
>       devlink: Add health diagnose command
>       devlink: Add health dump {get,clear} commands
>       net/mlx5e: Add TX reporter support
>       net/mlx5e: Add TX timeout support for mlx5e TX reporter
> 
> Gal Pressman (1):
>       RDMA: Add indication for in kernel API support to IB device
> 
> Greg Kroah-Hartman (1):
>       infiniband: mlx5: no need to check return value of
> debugfs_create functions
> 
> Huy Nguyen (1):
>       net/mlx5: Support ndo bridge_setlink and getlink
> 
> Jakub Kicinski (4):
>       ethtool: add compat for devlink info
>       devlink: fix condition for compat device info
>       devlink: don't allocate attrs on the stack
>       devlink: add device information API
> 
> Jason Gunthorpe (29):
>       IB/{core,hw}: Have ib_umem_get extract the ib_ucontext from ib_udata
>       RDMA/device: Use __ib_device_get_by_name() in ib_device_rename()
>       coding-style: Clarify the expectations around bool
>       net/mlx5: Make mlx5_cmd_exec_cb() a safe API
>       RDMA/device: Check that the rename is nop under the lock
>       RDMA/device: Ensure that security memory is always freed
>       RDMA/device: Call ib_cache_release_one() only from ib_device_release()
>       RDMA/device: Get rid of reg_state
>       RDMA/device: Use an ida instead of a free page in alloc_name
>       RDMA/devices: Use xarray to store the clients
>       RDMA/devices: Use xarray to store the client_data
>       RDMA/devices: Re-organize device.c locking
>       lib/scatterlist: Provide a DMA page iterator
>       RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq
>       RDMA: Add and use rdma_for_each_port
>       RDMA/device: Consolidate ib_device per_port data into one place
>       RDMA/cache: Move the cache per-port data into the main ib_port_data
>       RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev
>       RDMA/device: Add ib_device_get_by_netdev()
>       RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding
>       RDMA/device: Provide APIs from the core code to help unregistration
>       RDMA/rxe: Use driver_unregister and new unregistration API
>       RDMA/rxe: Add ib_device_get_by_name() and use it in rxe
>       RDMA/rxe: Close a race after ib_register_device
>       IB/mlx5: Remove references to uboject->context
>       IB: When attrs.udata/ufile is available use that instead of uobject
>       RDMA/drivers: Convert easy drivers to use ib_device_set_netdev()
>       RDMA: Remove rdma_user_mmap_page
>       RDMA/core: Clear out the udata before error unwind
> 
> Jianbo Liu (1):
>       UBUNTU: SAUCE: RDMA/mlx5: Add vport metadata matching for IB representors
> 
> Leon Romanovsky (49):
>       RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING
>       RDMA/core: Don't depend device ODP capabilities on kconfig option
>       RDMA/mlx5: Introduce and reuse helper to identify ODP MR
>       RDMA/mlx5: Embed into the code flow the ODP config option
>       RDMA/mlx5: Delete declaration of already removed function
>       RDMA: Clear PD objects during their allocation
>       RDMA: Clear CQ objects during their allocation
>       RDMA: Clear CTX objects during their allocation
>       RDMA/mad: Reduce MAD scope to mlx5_ib only
>       RDMA: Provide safe ib_alloc_device() function
>       RDMA/nldev: Dynamically generate restrack dumpit callbacks
>       RDMA/nldev: Factor out the PID namespace check
>       RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks
>       RDMA/core: Simplify restrack interface
>       RDMA/restrack: Refactor user/kernel restrack additions
>       RDMA/core: Use the ops infrastructure to keep all callbacks in one place
>       RDMA/cma: Remove CM_ID statistics provided by rdma-cm module
>       RDMA/core: Share driver structure size with core
>       RDMA: Handle PD allocations by IB/core
>       net/mlx5: Align ODP capability function with netdev coding style
>       RDMA/restrack: Convert internal DB from hash to XArray
>       RDMA/restrack: Translate from ID to restrack object
>       RDMA/nldev: Add resource tracker doit callback
>       RDMA/restrack: Reduce scope of synchronization lock while updating DB
>       RDMA/restrack: Hide restrack DB from IB/core
>       net/mlx5: Factor out HCA capabilities functions
>       RDMA/restrack: Prepare restrack_root to addition of extra fields per-type
>       RDMA/nldev: Share with user-space object IDs
>       RDMA/nldev: Provide parent IDs for PD, MR and QP objects
>       RDMA/nldev: Connect QP number to .doit callback
>       RDMA/nldev: Don't expose number of not-visible entries
>       net/mlx5e: Add missing static function annotation
>       net/mlx5: Delete unused FPGA QPN variable
>       RDMA/iwcm: Fix string truncation error
>       RDMA: Handle ucontext allocations by IB/core
>       RDMA/uverbs: Don't do double free of allocated PD
>       RDMA/netlink: Remove unused data structure
>       RDMA/core: Don't compare specific bit after boolean AND
>       RDMA/cma: Set proper port number as index
>       RDMA/mlx5: Cleanup WQE page fault handler
>       RDMA/cm: Remove useless zeroing of static global variable
>       RDMA/cm: Move debug counters to be under relevant IB device
>       RDMA/nldev: Return device protocol
>       RDMA/core: Support object allocation in atomic context
>       RDMA: Handle AH allocations by IB/core
>       RDMA: Handle SRQ allocations by IB/core
>       RDMA/rdmavt: Catch use-after-free access of AH structures
>       RDMA/mlx5: Remove MAYEXEC flag
>       RDMA/device: Don't fire uevent before device is fully initialized
> 
> Maor Gottlieb (3):
>       IB/mlx5: Don't override existing ip_protocol
>       RDMA/mlx5: Add query e-switch vport context to devx white list
>       UBUNTU: SAUCE: RDMA/mlx5: Consider eswitch encap mode
> 
> Mark Bloch (18):
>       RDMA/mlx5: Fix memory leak in case we fail to add an IB device
>       net/mlx5: E-Switch, add a new prio to be used by the RDMA side
>       RDMA/mlx5: Move netdev info into the port struct
>       RDMA/mlx5: Free IB device on remove
>       RDMA/mlx5: Move ports allocation to outside of INIT stage
>       RDMA/mlx5: Use correct size for device resources
>       RDMA/mlx5: Move rep into port struct
>       RDMA/mlx5: Move default representors SQ steering to rule to modify QP
>       RDMA/mlx5: Refactor netdev affinity code
>       RDMA/mlx5: Move SMI caps logic
>       RDMA/mlx5: Move to single device multiport ports in switchdev mode
>       RDMA/mlx5: Remove VF representor profile
>       RDMA/mlx5: Access the prio bypass inside the FDB flow table namespace
>       RDMA/mlx5: Create flow table with max size supported
>       RDMA/mlx5: Allow inserting a steering rule to the FDB
>       RDMA/mlx5: Allow DEVX and raw creation flow on reps
>       RDMA/mlx5: Initialize roce port info before multiport master init
>       RDMA/mlx5: Don't create IB representors when in multiport RoCE mode
> 
> Mark Zhang (2):
>       UBUNTU: SAUCE: net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap
>       UBUNTU: SAUCE: IB/core: udp_sport support for sa_path and rdma_ah
> 
> Moni Shoua (17):
>       net/mlx5: Add XRC transport to ODP device capabilities layout
>       net/mlx5: Set ODP SRQ support in firmware
>       IB/mlx5: Fix the locking of SRQ objects in ODP events
>       IB/core: Allocate a bit for SRQ ODP support
>       IB/uverbs: Expose XRC ODP device capabilities
>       IB/mlx5: Remove useless check in ODP handler
>       IB/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature
>       IB/mlx5: Add XRC initiator ODP support
>       IB/mlx5: Let read user wqe also from SRQ buffer
>       IB/mlx5: Add ODP SRQ support
>       IB/mlx5: Advertise SRQ ODP support for supported transports
>       IB/mlx5: Advertise XRC ODP support
>       IB/mlx5: Protect against prefetch of invalid MR
>       IB/mlx5: Validate correct PD before prefetch MR
>       IB/core: Abort page fault handler silently during owning process exit
>       IB/mlx5: Set correct write permissions for implicit ODP MR
>       net/mlx5: ODP support for XRC transport is not enabled by default in FW
> 
> Parav Pandit (40):
>       RDMA: Rename port_callback to init_port
>       RDMA: Introduce and use rdma_device_to_ibdev()
>       IB/core: Simplify rdma cgroup registration
>       IB/umad: Avoid additional device reference during open()/close()
>       IB/umad: Do not check status of nonseekable_open()
>       IB/mlx5: Consider vlan of lower netdev for macvlan GID entries
>       devlink: Add WARN_ON to catch errors of not cleaning devlink objects
>       devlink: Return right error code in case of errors for region read
>       devlink: Fix list access without lock while reading region
>       RDMA/core: Use simpler device_del() instead of device_unregister()
>       RDMA/core: Introduce and use ib_setup_port_attrs()
>       RDMA/core: Move device addition deletion to device.c
>       net/mlx5: Simplify sriov enable/disable flow
>       net/mlx5: Simplify mlx5_sriov_is_enabled() by using pci core API
>       RDMA/core: Introduce ib_core_device to hold device
>       RDMA/core: Restrict sysfs entries view to init_net
>       RDMA/core: Implement compat device/sysfs tree in net namespace
>       RDMA/core: Support core port attributes in non init_net
>       RDMA/core: Add module param to disable device sharing among net ns
>       RDMA: Check net namespace access for uverbs, umad, cma and nldev
>       RDMA/core: Extend ib_device_get_by_index for net namespace
>       RDMA/core: Add interface to read device namespace sharing mode
>       RDMA/core: Add command to set ib_core device net namspace sharing mode
>       RDMA/core: Avoid freeing netdevs in disable_device()
>       RDMA/core: Introduce a helper function to change net namespace
> of rdma device
>       RDMA/core: Add a netlink command to change net namespace of rdma device
>       IB/core: Allow vlan link local address based RoCE GIDs
>       UBUNTU: SAUCE: net/mlx5_core: Add debugfs for flow steering
>       UBUNTU: SAUCE: net/mlx5: Add per-namespace flow table default
> miss action support
>       UBUNTU: SAUCE: net/mlx5: Create bypass and loopback flow
> steering namespaces for RDMA RX
>       UBUNTU: SAUCE: RDMA/mlx5: RDMA_RX flow type support for user applications
>       RDMA/core: Do not invoke init_port on compat devices
>       RDMA/rxe: Consider skb reserve space based on netdev of GID
>       IB/cm: Reduce dependency on gid attribute ndev check
>       RDMA: Introduce and use GID attr helper to read RoCE L2 fields
>       RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev
>       RDMA/core: Allow detaching gid attribute netdevice for RoCE
>       RDMA/core: Change system parameters callback from dumpit to doit
>       {IB, net}/mlx5: No need to typecast from void* to mlx5_ib_dev*
>       {IB,net}/mlx5: Constify rep ops functions pointers
> 
> Saeed Mahameed (2):
>       net/mlx5: Fix compilation warning in eq.c
>       net/mlx5: Fix broken hca cap offset
> 
> Shamir Rabinovitch (10):
>       IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs
>       IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl
> and cmd flows
>       IB/verbs: Add helper function rdma_udata_to_drv_context
>       IB/{hw,sw}: Remove 'uobject->context' dependency in object creation APIs
>       IB: ucontext should be set properly for all cmd & ioctl paths
>       IB: Pass uverbs_attr_bundle down uobject destroy path
>       IB: Pass uverbs_attr_bundle down ib_x destroy path
>       IB: Remove 'uobject->context' dependency in object destroy APIs
>       IB: Pass only ib_udata in function prototypes
>       RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in
> ib_uverbs_get_context
> 
> Steve Wise (1):
>       RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support
> 
> Vu Pham (2):
>       UBUNTU: SAUCE: RDMA/mlx5: Set port state to NOP for invalid port_num
>       UBUNTU: SAUCE: net/mlx5: Support modifying max_sfs
> 
> Wen-chien Jesse Sung (1):
>       UBUNTU: [Config] updates for linux-bluefield
> 
> Yevgeny Kliteynik (2):
>       net/mlx5: Geneve, Add basic Geneve encap/decap flow table capabilities
>       net/mlx5: Geneve, Add flow table capabilities for Geneve decap
> with TLV options
> 
> Yishai Hadas (12):
>       IB/mlx5: DEVX handling for indirection MKEY
>       IB/mlx5: Manage indirection mkey upon DEVX flow for ODP
>       IB/mlx5: Add support for ODP for DEVX indirection mkey
>       IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD
>       IB/mlx5: Introduce async DEVX obj query API
>       IB/mlx5: Implement the file ops of DEVX async command FD
>       IB/mlx5: Implement DEVX hot unplug for async command FD
>       IB/mlx5: Fix bad flow upon DEVX mkey creation
>       IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT
>       IB/mlx5: Verify DEVX general object type correctly
>       net/mlx5: Set completion EQs as shared resources
>       net/mlx5: Fix mlx5_core_destroy_cq() error flow
> 
> root (1):
>       UBUNTU: SAUCE: net/mlx5: Expose eswitch encap mode
> 
>  .clang-format                                      |    2 +
>  Documentation/networking/devlink-health.txt        |   86 +
>  Documentation/process/coding-style.rst             |   38 +-
>  .../abi/5.0.0-1002.11/arm64/bluefield.modules      |   13 +-
>  debian.bluefield/config/annotations                |   11 +
>  debian.bluefield/config/config.common.ubuntu       |   30 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c         |    8 +-
>  drivers/infiniband/Kconfig                         |   15 +-
>  drivers/infiniband/core/Makefile                   |    4 +-
>  drivers/infiniband/core/addr.c                     |    1 +
>  drivers/infiniband/core/cache.c                    |  242 ++-
>  drivers/infiniband/core/cgroup.c                   |    5 +-
>  drivers/infiniband/core/cm.c                       |   52 +-
>  drivers/infiniband/core/cma.c                      |  107 +-
>  drivers/infiniband/core/core_priv.h                |   47 +-
>  drivers/infiniband/core/cq.c                       |   21 +-
>  drivers/infiniband/core/device.c                   | 1933 +++++++++++++++-----
>  drivers/infiniband/core/iwcm.c                     |    6 +-
>  drivers/infiniband/core/mad.c                      |    4 +-
>  drivers/infiniband/core/netlink.c                  |    4 +-
>  drivers/infiniband/core/nldev.c                    |  605 ++++--
>  drivers/infiniband/core/rdma_core.c                |  102 +-
>  drivers/infiniband/core/rdma_core.h                |   13 +-
>  drivers/infiniband/core/restrack.c                 |  210 ++-
>  drivers/infiniband/core/restrack.h                 |   28 +
>  drivers/infiniband/core/security.c                 |   39 +-
>  drivers/infiniband/core/sysfs.c                    |  163 +-
>  drivers/infiniband/core/umem.c                     |   13 +-
>  drivers/infiniband/core/umem_odp.c                 |    2 +-
>  drivers/infiniband/core/user_mad.c                 |   62 +-
>  drivers/infiniband/core/uverbs.h                   |    3 +-
>  drivers/infiniband/core/uverbs_cmd.c               |  156 +-
>  drivers/infiniband/core/uverbs_ioctl.c             |   26 +-
>  drivers/infiniband/core/uverbs_main.c              |   69 +-
>  drivers/infiniband/core/uverbs_std_types.c         |   52 +-
>  .../infiniband/core/uverbs_std_types_counters.c    |    5 +-
>  drivers/infiniband/core/uverbs_std_types_cq.c      |   12 +-
>  drivers/infiniband/core/uverbs_std_types_dm.c      |    9 +-
>  .../infiniband/core/uverbs_std_types_flow_action.c |    5 +-
>  drivers/infiniband/core/uverbs_std_types_mr.c      |    9 +-
>  drivers/infiniband/core/uverbs_uapi.c              |   15 +-
>  drivers/infiniband/core/verbs.c                    |  224 +--
>  drivers/infiniband/hw/bnxt_re/ib_verbs.c           |  235 +--
>  drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   46 +-
>  drivers/infiniband/hw/bnxt_re/main.c               |   20 +-
>  drivers/infiniband/hw/bnxt_re/qplib_fp.c           |   12 +-
>  drivers/infiniband/hw/bnxt_re/qplib_fp.h           |    4 +-
>  drivers/infiniband/hw/bnxt_re/qplib_sp.c           |   12 +-
>  drivers/infiniband/hw/bnxt_re/qplib_sp.h           |    4 +-
>  drivers/infiniband/hw/cxgb3/iwch.c                 |    2 +-
>  drivers/infiniband/hw/cxgb3/iwch_provider.c        |  105 +-
>  drivers/infiniband/hw/cxgb4/cq.c                   |   17 +-
>  drivers/infiniband/hw/cxgb4/device.c               |    2 +-
>  drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |   19 +-
>  drivers/infiniband/hw/cxgb4/mem.c                  |    9 +-
>  drivers/infiniband/hw/cxgb4/provider.c             |   70 +-
>  drivers/infiniband/hw/cxgb4/qp.c                   |   47 +-
>  drivers/infiniband/hw/hfi1/sysfs.c                 |   16 +-
>  drivers/infiniband/hw/hfi1/verbs.c                 |    2 +-
>  drivers/infiniband/hw/hns/Kconfig                  |    1 -
>  drivers/infiniband/hw/hns/hns_roce_ah.c            |   36 +-
>  drivers/infiniband/hw/hns/hns_roce_cq.c            |   42 +-
>  drivers/infiniband/hw/hns/hns_roce_db.c            |    6 +-
>  drivers/infiniband/hw/hns/hns_roce_device.h        |   39 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   45 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v1.h         |    2 +-
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |   34 +-
>  drivers/infiniband/hw/hns/hns_roce_main.c          |   63 +-
>  drivers/infiniband/hw/hns/hns_roce_mr.c            |   13 +-
>  drivers/infiniband/hw/hns/hns_roce_pd.c            |   26 +-
>  drivers/infiniband/hw/hns/hns_roce_qp.c            |   26 +-
>  drivers/infiniband/hw/hns/hns_roce_srq.c           |   59 +-
>  drivers/infiniband/hw/i40iw/i40iw_cm.c             |    3 +-
>  drivers/infiniband/hw/i40iw/i40iw_utils.c          |    1 -
>  drivers/infiniband/hw/i40iw/i40iw_verbs.c          |  143 +-
>  drivers/infiniband/hw/mlx4/Kconfig                 |    1 -
>  drivers/infiniband/hw/mlx4/ah.c                    |  103 +-
>  drivers/infiniband/hw/mlx4/cq.c                    |   55 +-
>  drivers/infiniband/hw/mlx4/doorbell.c              |    8 +-
>  drivers/infiniband/hw/mlx4/mad.c                   |   33 +-
>  drivers/infiniband/hw/mlx4/main.c                  |   82 +-
>  drivers/infiniband/hw/mlx4/mlx4_ib.h               |   35 +-
>  drivers/infiniband/hw/mlx4/mr.c                    |   20 +-
>  drivers/infiniband/hw/mlx4/qp.c                    |  128 +-
>  drivers/infiniband/hw/mlx4/srq.c                   |   67 +-
>  drivers/infiniband/hw/mlx5/Kconfig                 |    1 -
>  drivers/infiniband/hw/mlx5/ah.c                    |   33 +-
>  drivers/infiniband/hw/mlx5/cmd.c                   |  192 +-
>  drivers/infiniband/hw/mlx5/cmd.h                   |   10 +-
>  drivers/infiniband/hw/mlx5/cong.c                  |   15 +-
>  drivers/infiniband/hw/mlx5/cq.c                    |   60 +-
>  drivers/infiniband/hw/mlx5/devx.c                  |  532 +++++-
>  drivers/infiniband/hw/mlx5/doorbell.c              |    6 +-
>  drivers/infiniband/hw/mlx5/flow.c                  |  108 +-
>  drivers/infiniband/hw/mlx5/ib_rep.c                |  135 +-
>  drivers/infiniband/hw/mlx5/ib_rep.h                |   31 +-
>  drivers/infiniband/hw/mlx5/mad.c                   |   11 +-
>  drivers/infiniband/hw/mlx5/main.c                  |  979 ++++++----
>  drivers/infiniband/hw/mlx5/mem.c                   |    5 +-
>  drivers/infiniband/hw/mlx5/mlx5_ib.h               |  165 +-
>  drivers/infiniband/hw/mlx5/mr.c                    |  217 +--
>  drivers/infiniband/hw/mlx5/odp.c                   |  361 +++-
>  drivers/infiniband/hw/mlx5/qp.c                    |  425 +++--
>  drivers/infiniband/hw/mlx5/srq.c                   |   87 +-
>  drivers/infiniband/hw/mlx5/srq.h                   |    4 +-
>  drivers/infiniband/hw/mlx5/srq_cmd.c               |   24 +-
>  drivers/infiniband/hw/mthca/mthca_main.c           |    2 +-
>  drivers/infiniband/hw/mthca/mthca_provider.c       |  274 ++-
>  drivers/infiniband/hw/mthca/mthca_qp.c             |   13 +-
>  drivers/infiniband/hw/mthca/mthca_srq.c            |   21 +-
>  drivers/infiniband/hw/nes/Kconfig                  |    2 +-
>  drivers/infiniband/hw/nes/nes_cm.c                 |    3 +-
>  drivers/infiniband/hw/nes/nes_verbs.c              |  153 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_ah.c           |   32 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_ah.h           |    6 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_hw.c           |   18 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_hw.h           |    6 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_main.c         |   24 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |  254 ++-
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |   29 +-
>  drivers/infiniband/hw/qedr/main.c                  |   31 +-
>  drivers/infiniband/hw/qedr/qedr_roce_cm.c          |   11 +-
>  drivers/infiniband/hw/qedr/verbs.c                 |  188 +-
>  drivers/infiniband/hw/qedr/verbs.h                 |   31 +-
>  drivers/infiniband/hw/qib/qib_sysfs.c              |   18 +-
>  drivers/infiniband/hw/qib/qib_verbs.c              |    2 +-
>  drivers/infiniband/hw/usnic/usnic_ib_main.c        |    6 +-
>  drivers/infiniband/hw/usnic/usnic_ib_sysfs.c       |   26 +-
>  drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |   57 +-
>  drivers/infiniband/hw/usnic/usnic_ib_verbs.h       |   18 +-
>  drivers/infiniband/hw/usnic/usnic_uiom.c           |    3 +-
>  drivers/infiniband/hw/usnic/usnic_uiom.h           |    3 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |   19 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c     |   34 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c       |    7 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |    9 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c      |   47 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c    |  140 +-
>  drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h    |   33 +-
>  drivers/infiniband/sw/rdmavt/ah.c                  |   38 +-
>  drivers/infiniband/sw/rdmavt/ah.h                  |    8 +-
>  drivers/infiniband/sw/rdmavt/cq.c                  |    7 +-
>  drivers/infiniband/sw/rdmavt/cq.h                  |    3 +-
>  drivers/infiniband/sw/rdmavt/mmap.c                |   16 +-
>  drivers/infiniband/sw/rdmavt/mmap.h                |    6 +-
>  drivers/infiniband/sw/rdmavt/mr.c                  |   10 +-
>  drivers/infiniband/sw/rdmavt/mr.h                  |    7 +-
>  drivers/infiniband/sw/rdmavt/pd.c                  |   30 +-
>  drivers/infiniband/sw/rdmavt/pd.h                  |    6 +-
>  drivers/infiniband/sw/rdmavt/qp.c                  |    6 +-
>  drivers/infiniband/sw/rdmavt/qp.h                  |    2 +-
>  drivers/infiniband/sw/rdmavt/srq.c                 |   48 +-
>  drivers/infiniband/sw/rdmavt/srq.h                 |    7 +-
>  drivers/infiniband/sw/rdmavt/vt.c                  |   37 +-
>  drivers/infiniband/sw/rxe/rxe.c                    |   41 +-
>  drivers/infiniband/sw/rxe/rxe.h                    |   14 +-
>  drivers/infiniband/sw/rxe/rxe_cq.c                 |   10 +-
>  drivers/infiniband/sw/rxe/rxe_loc.h                |   18 +-
>  drivers/infiniband/sw/rxe/rxe_mmap.c               |   14 +-
>  drivers/infiniband/sw/rxe/rxe_mr.c                 |    2 +-
>  drivers/infiniband/sw/rxe/rxe_net.c                |   89 +-
>  drivers/infiniband/sw/rxe/rxe_net.h                |    2 +-
>  drivers/infiniband/sw/rxe/rxe_pool.c               |   81 +-
>  drivers/infiniband/sw/rxe/rxe_pool.h               |    4 +
>  drivers/infiniband/sw/rxe/rxe_qp.c                 |   15 +-
>  drivers/infiniband/sw/rxe/rxe_queue.c              |   22 +-
>  drivers/infiniband/sw/rxe/rxe_queue.h              |   15 +-
>  drivers/infiniband/sw/rxe/rxe_srq.c                |   14 +-
>  drivers/infiniband/sw/rxe/rxe_sysfs.c              |   36 +-
>  drivers/infiniband/sw/rxe/rxe_verbs.c              |  173 +-
>  drivers/infiniband/sw/rxe/rxe_verbs.h              |   11 +-
>  drivers/infiniband/ulp/ipoib/ipoib_main.c          |    4 +-
>  drivers/infiniband/ulp/srp/ib_srp.c                |    5 +-
>  drivers/media/pci/intel/ipu3/ipu3-cio2.c           |    4 +-
>  drivers/net/ethernet/mellanox/mlx5/core/Makefile   |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/cmd.c      |   55 +-
>  drivers/net/ethernet/mellanox/mlx5/core/cq.c       |    9 +-
>  drivers/net/ethernet/mellanox/mlx5/core/ecpf.c     |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en.h       |   18 +-
>  .../ethernet/mellanox/mlx5/core/en/monitor_stats.c |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en/port.c  |  139 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en/port.h  |   16 +-
>  .../net/ethernet/mellanox/mlx5/core/en/reporter.h  |   15 +
>  .../ethernet/mellanox/mlx5/core/en/reporter_tx.c   |  356 ++++
>  .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |  281 ++-
>  drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  245 +--
>  drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |   15 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en_rep.h   |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/en_tx.c    |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/eq.c       |   28 +-
>  drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |   11 +
>  drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |    7 +-
>  .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |   38 +-
>  drivers/net/ethernet/mellanox/mlx5/core/events.c   |   75 +
>  .../net/ethernet/mellanox/mlx5/core/fpga/core.c    |    2 -
>  drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |   14 +-
>  drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |  271 ++-
>  drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |   18 +-
>  .../net/ethernet/mellanox/mlx5/core/fs_debugfs.c   | 1324 ++++++++++++++
>  .../net/ethernet/mellanox/mlx5/core/fs_debugfs.h   |  109 ++
>  drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h   |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/mad.c      |   75 -
>  drivers/net/ethernet/mellanox/mlx5/core/main.c     |   89 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/mdev.c  |   26 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/sf.c    |  153 +-
>  .../net/ethernet/mellanox/mlx5/core/meddev/sf.h    |    6 +-
>  .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/mr.c       |   11 +-
>  drivers/net/ethernet/mellanox/mlx5/core/port.c     |  106 --
>  drivers/net/ethernet/mellanox/mlx5/core/qp.c       |    6 +-
>  drivers/net/ethernet/mellanox/mlx5/core/rdma.c     |    2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/sriov.c    |   51 +-
>  drivers/net/ethernet/mellanox/mlx5/core/transobj.c |   18 +-
>  include/linux/cgroup_rdma.h                        |    2 +-
>  include/linux/mlx5/device.h                        |    5 +
>  include/linux/mlx5/driver.h                        |   40 +-
>  include/linux/mlx5/eswitch.h                       |   32 +-
>  include/linux/mlx5/fs.h                            |    2 +
>  include/linux/mlx5/mlx5_ifc.h                      |  213 ++-
>  include/linux/mlx5/port.h                          |   30 +-
>  include/linux/mlx5/qp.h                            |    3 +-
>  include/linux/mlx5/transobj.h                      |    3 +
>  include/linux/mlx5/vport.h                         |    3 +-
>  include/linux/scatterlist.h                        |   49 +-
>  include/net/devlink.h                              |  175 +-
>  include/net/flow_offload.h                         |    2 +-
>  include/rdma/ib_cache.h                            |    4 +
>  include/rdma/ib_sa.h                               |   13 +
>  include/rdma/ib_umem.h                             |    8 +-
>  include/rdma/ib_umem_odp.h                         |   26 +-
>  include/rdma/ib_verbs.h                            |  544 ++++--
>  include/rdma/rdma_netlink.h                        |   11 +
>  include/rdma/rdma_vt.h                             |    8 +-
>  include/rdma/restrack.h                            |   58 +-
>  include/rdma/uverbs_ioctl.h                        |   18 +
>  include/rdma/uverbs_std_types.h                    |   28 +-
>  include/rdma/uverbs_types.h                        |   19 +-
>  include/trace/events/devlink.h                     |   62 +
>  include/uapi/linux/devlink.h                       |   35 +
>  include/uapi/rdma/ib_user_verbs.h                  |    2 +
>  include/uapi/rdma/mlx5-abi.h                       |    2 +
>  include/uapi/rdma/mlx5_user_ioctl_cmds.h           |   20 +
>  include/uapi/rdma/mlx5_user_ioctl_verbs.h          |   13 +
>  include/uapi/rdma/rdma_netlink.h                   |   70 +-
>  kernel/cgroup/rdma.c                               |    5 +-
>  lib/scatterlist.c                                  |   26 +
>  net/core/devlink.c                                 | 1593 ++++++++++++++--
>  net/core/ethtool.c                                 |    7 +
>  scripts/checkpatch.pl                              |   13 -
>  249 files changed, 12785 insertions(+), 5840 deletions(-)
>  create mode 100644 Documentation/networking/devlink-health.txt
>  create mode 100644 drivers/infiniband/core/restrack.h
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter.h
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.c
>  create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/fs_debugfs.h
>  delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/mad.c
>