lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Mon,  8 Nov 2021 19:05:22 +0200
From:   Leon Romanovsky <leon@...nel.org>
To:     "David S . Miller" <davem@...emloft.net>,
        Jakub Kicinski <kuba@...nel.org>
Cc:     Leon Romanovsky <leonro@...dia.com>,
        Ido Schimmel <idosch@...dia.com>, Jiri Pirko <jiri@...dia.com>,
        netdev <netdev@...r.kernel.org>
Subject: [RFC PATCH 00/16] Allow parallel devlink execution

From: Leon Romanovsky <leonro@...dia.com>

Jakub, this is RFC, not fully tested and not reviewed yet.
I'm sending it to show that first we need to fix internal devlink
locking before even thinking of exporting it to the drivers.

-------------------------------------------------------------------
Hi,

This is final piece of devlink locking puzzle, where I remove global
mutex lock (devlink_mutex) and reduce scope of devlink->lock. The last
change allows us to make sure that devlink commands are called while
devlink_reload is executed and protected at the same time.

All of the changes mentioned above are limited to devlink.c without any
need to update drivers or expose internal details of devlink implementation.

The diffstat is misleading here, because of initial cleanup of overly
engineered interfaces.

BTW, I have one extra patch that documents devlink locking.

Thanks

Leon Romanovsky (16):
  devlink: Remove misleading internal_flags from health reporter dump
  devlink: Delete useless checks of holding devlink lock
  devlink: Simplify devlink resources unregister call
  devlink: Clean registration of devlink port
  devlink: Be explicit with devlink port protection
  devlink: Reshuffle resource registration logic
  devlink: Inline sb related functions
  devlink: Protect resource list with specific lock
  devlink: Protect all traps lists with specialized lock
  devlink: Separate region list protection to be done with specialized
    lock
  devlink: Protect all rate operations with specialized lock
  devlink: Protect all sb operations with specialized lock
  devlink: Convert dpipe to use dpipe_lock
  devlink: Require devlink lock during device reload
  devlink: Use xarray locking mechanism instead big devlink lock
  devlink: Open devlink to parallel operations

 .../net/ethernet/broadcom/bnxt/bnxt_devlink.c |   7 +-
 .../freescale/dpaa2/dpaa2-eth-devlink.c       |   7 +-
 drivers/net/ethernet/intel/ice/ice_devlink.c  |  18 +-
 .../marvell/prestera/prestera_devlink.c       |   7 +-
 drivers/net/ethernet/mellanox/mlx4/main.c     |   4 +-
 .../ethernet/mellanox/mlx5/core/en/devlink.c  |   5 +-
 .../ethernet/mellanox/mlx5/core/en/devlink.h  |   2 +-
 .../net/ethernet/mellanox/mlx5/core/en_main.c |   7 +-
 .../mellanox/mlx5/core/esw/devlink_port.c     |   9 +-
 drivers/net/ethernet/mellanox/mlxsw/core.c    |  15 +-
 .../net/ethernet/mellanox/mlxsw/spectrum.c    |   4 +-
 drivers/net/ethernet/mscc/ocelot_net.c        |   4 +-
 .../net/ethernet/netronome/nfp/nfp_devlink.c  |   4 +-
 .../ethernet/pensando/ionic/ionic_devlink.c   |   8 +-
 drivers/net/ethernet/ti/am65-cpsw-nuss.c      |  14 +-
 drivers/net/netdevsim/dev.c                   |  11 +-
 include/net/devlink.h                         |   9 +-
 net/core/devlink.c                            | 938 ++++++++++--------
 net/dsa/dsa.c                                 |   2 +-
 net/dsa/dsa2.c                                |   9 +-
 20 files changed, 561 insertions(+), 523 deletions(-)

-- 
2.33.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ