APPLIED: [SRU][J:linux-bluefield][PULL] Fix devlink deadlock issue
Bartlomiej Zolnierkiewicz
bartlomiej.zolnierkiewicz at canonical.com
Thu Sep 14 18:01:46 UTC 2023
Applied to jammy:linux-bluefield/master-next. Thanks.
--
Best regards,
Bartlomiej
On Fri, Sep 8, 2023 at 5:03 AM Bodong Wang <bodong at nvidia.com> wrote:
>
> This pull request is addressing the devlink deadlock issue. System gets stuck if try to switch to switchdev mode while toggling ns over BF kernel.
>
>
>
> BugLink: https://bugs.launchpad.net/bugs/2032378
>
>
>
> ----------------------------------------------------------------
>
>
>
> The following changes since commit e0359e9ebd0d9c01b12185b803eb30783c42937a:
>
>
>
> UBUNTU: Ubuntu-bluefield-5.15.0-1023.25 (2023-08-22 18:15:20 +0200)
>
>
>
> are available in the Git repository at:
>
>
>
> https://git.launchpad.net/~bodong-wang/ubuntu/+source/linux-bluefield/+git/jammy master-next
>
>
>
> for you to fetch changes up to 521cbe592aa5eae81ca3833ba6b15ef9f5641ece:
>
>
>
> net: devlink: convert reload command to take implicit devlink->lock (2023-09-07 12:13:13 -0500)
>
>
>
> ----------------------------------------------------------------
>
> Ammar Faizi (1):
>
> net: devlink: Fix missing mutex_unlock() call
>
>
>
> Eric Dumazet (1):
>
> devlink: adopt u64_stats_t
>
>
>
> Guo Zhengkui (1):
>
> devlink: fix flexible_array.cocci warning
>
>
>
> Jacob Keller (1):
>
> devlink: report maximum number of snapshots with regions
>
>
>
> Jakub Kicinski (12):
>
> devlink: make all symbols GPL-only
>
> devlink: expose get/put functions
>
> ethtool: push the rtnl_lock into dev_ethtool()
>
> ethtool: handle info/flash data copying outside rtnl_lock
>
> ethtool: don't drop the rtnl_lock half way thru the ioctl
>
> net: Don't include filter.h from net/sock.h
>
> devlink: expose instance locking and add locked port registering
>
> devlink: hold the instance lock in port_split / port_unsplit callbacks
>
> devlink: pass devlink_port to port_split / port_unsplit callbacks
>
> devlink: add explicitly locked flavor of the rate node APIs
>
> devlink: hold the instance lock during eswitch_mode callbacks
>
> devlink: hold region lock when flushing snapshots
>
>
>
> Jiri Pirko (12):
>
> devlink: add support to create line card and expose to user
>
> devlink: implement line card provisioning
>
> devlink: implement line card active state
>
> devlink: add port to line card relationship set
>
> devlink: introduce line card devices support
>
> devlink: introduce line card info get message
>
> devlink: introduce line card device info infrastructure
>
> net: devlink: fix unlocked vs locked functions descriptions
>
> net: devlink: use helpers to work with devlink->lock mutex
>
> net: devlink: remove region snapshot ID tracking dependency on devlink->lock
>
> net: devlink: remove region snapshots list dependency on devlink->lock
>
> net: devlink: convert reload command to take implicit devlink->lock
>
>
>
> Leon Romanovsky (18):
>
> devlink: Delete not-used single parameter notification APIs
>
> devlink: Delete not-used devlink APIs
>
> devlink: Make devlink_register to be void
>
> devlink: Delete not used port parameters APIs
>
> devlink: Remove single line function obfuscations
>
> devlink: Notify users when objects are accessible
>
> devlink: Add missed notifications iterators
>
> devlink: Reduce struct devlink exposure
>
> devlink: Move netdev_to_devlink helpers to devlink.c
>
> devlink: Annotate devlink API calls
>
> devlink: Allow control devlink ops behavior through feature mask
>
> devlink: Delete reload enable/disable interface
>
> devlink: Remove extra device_lock assert checks
>
> devlink: Delete obsolete parameters publish API
>
> devlink: Clean not-executed param notifications
>
> devlink: Simplify internal devlink params implementation
>
> devlink: Don't throw an error if flash notification sent before devlink visible
>
> devlink: Simplify devlink resources unregister call
>
>
>
> Moshe Shemesh (4):
>
> devlink: Remove unused function devlink_rate_nodes_destroy
>
> devlink: Remove unused functions devlink_rate_leaf_create/destroy
>
> devlink: Hold the instance lock in port_new / port_del callbacks
>
> devlink: Hold the instance lock in health callbacks
>
>
>
> Shay Drory (2):
>
> devlink: Add new "io_eq_size" generic device param
>
> devlink: Add new "event_eq_size" generic device param
>
>
>
> Shiraz Saleem (1):
>
> devlink: Add 'enable_iwarp' generic device param
>
>
>
> William Tu (1):
>
> UBUNTU: [Config] bluefield: disable MLX5, and vendor drivers.
>
>
>
> Documentation/networking/devlink/devlink-linecard.rst | 126 ++++
>
> Documentation/networking/devlink/devlink-params.rst | 9 +
>
> Documentation/networking/devlink/devlink-region.rst | 4 +-
>
> Documentation/networking/devlink/ice.rst | 4 +
>
> Documentation/networking/devlink/index.rst | 17 +
>
> debian.bluefield/abi/arm64/bluefield.modules | 869 ----------------------
>
> debian.bluefield/abi/arm64/bluefield.modules.builtin | 10 -
>
> debian.bluefield/config/annotations | 1141 ++++++++++++++++++++++++++++-
>
> drivers/bluetooth/btqca.c | 1 +
>
> drivers/infiniband/core/cache.c | 1 +
>
> drivers/infiniband/hw/irdma/ctrl.c | 2 +
>
> drivers/infiniband/hw/irdma/uda.c | 2 +
>
> drivers/infiniband/hw/mlx5/doorbell.c | 1 +
>
> drivers/infiniband/hw/mlx5/qp.c | 1 +
>
> drivers/net/amt.c | 3298 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> drivers/net/appletalk/ipddp.c | 1 +
>
> drivers/net/bonding/bond_main.c | 1 +
>
> drivers/net/can/usb/peak_usb/pcan_usb.c | 1 +
>
> drivers/net/dsa/microchip/ksz8795.c | 1 +
>
> drivers/net/dsa/xrs700x/xrs700x.c | 1 +
>
> drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 12 +-
>
> drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 18 +-
>
> drivers/net/ethernet/cavium/liquidio/lio_main.c | 8 +-
>
> drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c | 13 +-
>
> drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_devlink.c | 18 +-
>
> drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_devlink.c | 18 +-
>
> drivers/net/ethernet/huawei/hinic/hinic_devlink.c | 4 +-
>
> drivers/net/ethernet/huawei/hinic/hinic_devlink.h | 2 +-
>
> drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c | 8 +-
>
> drivers/net/ethernet/huawei/hinic/hinic_tx.c | 1 +
>
> drivers/net/ethernet/intel/ice/ice_devlink.c | 14 +-
>
> drivers/net/ethernet/intel/ice/ice_devlink.h | 2 +-
>
> drivers/net/ethernet/intel/ice/ice_main.c | 6 +-
>
> drivers/net/ethernet/intel/ice/ice_txrx_lib.c | 2 +
>
> drivers/net/ethernet/intel/igc/igc_xdp.c | 1 +
>
> drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c | 8 +-
>
> drivers/net/ethernet/marvell/octeontx2/nic/otx2_devlink.c | 8 +-
>
> drivers/net/ethernet/marvell/prestera/prestera_devlink.c | 6 +-
>
> drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 1 +
>
> drivers/net/ethernet/mellanox/mlx4/main.c | 5 +-
>
> drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 5 +-
>
> drivers/net/ethernet/mellanox/mlx5/core/en/qos.c | 1 +
>
> drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 54 +-
>
> drivers/net/ethernet/mellanox/mlx5/core/sf/dev/driver.c | 2 +-
>
> drivers/net/ethernet/mellanox/mlxfw/mlxfw.h | 2 +-
>
> drivers/net/ethernet/mellanox/mlxsw/core.c | 49 +-
>
> drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 4 +-
>
> drivers/net/ethernet/mscc/ocelot_vsc7514.c | 6 +-
>
> drivers/net/ethernet/netronome/nfp/nfp_devlink.c | 32 +-
>
> drivers/net/ethernet/netronome/nfp/nfp_net_main.c | 6 +-
>
> drivers/net/ethernet/netronome/nfp/nfp_port.h | 2 -
>
> drivers/net/ethernet/pensando/ionic/ionic_devlink.c | 7 +-
>
> drivers/net/ethernet/qlogic/qed/qed_devlink.c | 7 +-
>
> drivers/net/ethernet/sfc/efx.c | 1 +
>
> drivers/net/ethernet/sfc/efx_channels.c | 1 +
>
> drivers/net/ethernet/sfc/efx_common.c | 1 +
>
> drivers/net/ethernet/ti/am65-cpsw-nuss.c | 9 +-
>
> drivers/net/ethernet/ti/cpsw_new.c | 8 +-
>
> drivers/net/hamradio/hdlcdrv.c | 1 +
>
> drivers/net/hamradio/scc.c | 1 +
>
> drivers/net/loopback.c | 1 +
>
> drivers/net/netdevsim/dev.c | 29 +-
>
> drivers/net/netdevsim/health.c | 32 -
>
> drivers/net/vrf.c | 1 +
>
> drivers/net/wireless/ath/ath11k/debugfs.c | 2 +
>
> drivers/net/wireless/realtek/rtw89/debug.c | 2 +
>
> drivers/net/wwan/iosm/iosm_ipc_devlink.c | 357 +++++++++
>
> drivers/ptp/ptp_ocp.c | 7 +-
>
> drivers/staging/qlge/qlge_main.c | 6 +-
>
> fs/nfs/dir.c | 1 +
>
> fs/nfs/fs_context.c | 1 +
>
> fs/select.c | 1 +
>
> include/linux/bpf_local_storage.h | 1 +
>
> include/linux/dsa/loop.h | 1 +
>
> include/net/devlink.h | 252 +++----
>
> include/net/ipv6.h | 2 +
>
> include/net/route.h | 1 +
>
> include/net/sock.h | 2 +-
>
> include/net/xdp_sock.h | 1 +
>
> include/trace/events/devlink.h | 72 +-
>
> include/uapi/linux/devlink.h | 30 +
>
> kernel/sysctl.c | 1 +
>
> net/bluetooth/bnep/sock.c | 1 +
>
> net/bluetooth/eir.h | 74 ++
>
> net/bluetooth/hidp/sock.c | 1 +
>
> net/bluetooth/l2cap_sock.c | 1 +
>
> net/bridge/br_ioctl.c | 1 +
>
> net/caif/caif_socket.c | 1 +
>
> net/core/dev_ioctl.c | 2 -
>
> net/core/devlink.c | 2733 ++++++++++++++++++++++++++++++++++++++++++++------------------------
>
> net/core/flow_dissector.c | 1 +
>
> net/core/lwt_bpf.c | 1 +
>
> net/core/sock_diag.c | 1 +
>
> net/core/sysctl_net_core.c | 1 +
>
> net/decnet/dn_nsp_in.c | 1 +
>
> net/dsa/dsa.c | 2 +-
>
> net/dsa/dsa2.c | 7 +-
>
> net/dsa/dsa_priv.h | 1 +
>
> net/ethtool/ioctl.c | 149 +++-
>
> net/ipv4/nexthop.c | 1 +
>
> net/ipv6/ip6_fib.c | 1 +
>
> net/ipv6/seg6_local.c | 1 +
>
> net/iucv/af_iucv.c | 1 +
>
> net/kcm/kcmsock.c | 1 +
>
> net/netfilter/nfnetlink_hook.c | 1 +
>
> net/netfilter/nft_reject_netdev.c | 1 +
>
> net/netlink/af_netlink.c | 2 +
>
> net/packet/af_packet.c | 1 +
>
> net/rose/rose_in.c | 1 +
>
> net/sched/sch_frag.c | 1 +
>
> net/smc/smc_ib.c | 2 +
>
> net/smc/smc_ism.c | 1 +
>
> net/unix/af_unix.c | 1 +
>
> net/vmw_vsock/af_vsock.c | 1 +
>
> net/xdp/xskmap.c | 1 +
>
> net/xfrm/xfrm_state.c | 1 +
>
> net/xfrm/xfrm_user.c | 1 +
>
> 117 files changed, 7304 insertions(+), 2342 deletions(-)
>
> create mode 100644 Documentation/networking/devlink/devlink-linecard.rst
>
> create mode 100644 drivers/net/amt.c
>
> create mode 100644 drivers/net/wwan/iosm/iosm_ipc_devlink.c
>
> create mode 100644 net/bluetooth/eir.h
More information about the kernel-team
mailing list