mbox series

[net-next,v5,00/12] devlink: linecard and reporters locking cleanup

Message ID 20230118152115.1113149-1-jiri@resnulli.us (mailing list archive)
Headers show
Series devlink: linecard and reporters locking cleanup | expand

Message

Jiri Pirko Jan. 18, 2023, 3:21 p.m. UTC
From: Jiri Pirko <jiri@nvidia.com>

This patchset does not change functionality.

Patches 1-2 remove linecards lock and reference counting, converting
them to be protected by devlink instance lock as the rest of
the objects.

Patches 3-4 fix the mlx5 auxiliary device devlink locking scheme whis is
needed for proper reporters lock conversion done in the following
patches.

Patches 5-8 remove reporters locks and reference counting, converting
them to be protected by devlink instance lock as the rest of
the objects.

Patches 9 and 10 convert linecards and reporters dumpit callbacks to
recently introduced devlink_nl_instance_iter_dump() infra.

Patch 11 removes no longer needed devlink_dump_for_each_instance_get()
helper.

The last patch adds assertion to devl_is_registered() as dependency on
other locks is removed.

---
v4->v5:
- fixed mlx5 locking issues
v3->v4:
- patch #1 was removed from the set and will be sent as a part of
  another patchset
v2->v3:
- see individual patches for changelog, mainly original patch #4 was
  split into 3 patches for easier review
v1->v2:
- patch 7 bits were unsquashed to patch 8

Jiri Pirko (12):
  devlink: remove linecards lock
  devlink: remove linecard reference counting
  net/mlx5e: Create separate devlink instance for ethernet auxiliary
    device
  net/mlx5: Remove MLX5E_LOCKED_FLOW flag
  devlink: protect health reporter operation with instance lock
  devlink: remove reporters_lock
  devlink: remove devl*_port_health_reporter_destroy()
  devlink: remove reporter reference counting
  devlink: convert linecards dump to devlink_nl_instance_iter_dump()
  devlink: convert reporters dump to devlink_nl_instance_iter_dump()
  devlink: remove devlink_dump_for_each_instance_get() helper
  devlink: add instance lock assertion in devl_is_registered()

 drivers/net/ethernet/mellanox/mlx5/core/dev.c |  14 +-
 drivers/net/ethernet/mellanox/mlx5/core/en.h  |   4 +
 .../ethernet/mellanox/mlx5/core/en/devlink.c  |  44 +-
 .../ethernet/mellanox/mlx5/core/en/devlink.h  |   5 +-
 .../mellanox/mlx5/core/en/reporter_rx.c       |   2 +-
 .../mellanox/mlx5/core/en/reporter_tx.c       |   2 +-
 .../net/ethernet/mellanox/mlx5/core/en_main.c |  25 +-
 drivers/net/ethernet/mellanox/mlxsw/core.c    |   8 +-
 .../ethernet/mellanox/mlxsw/core_linecards.c  |   8 +-
 drivers/net/netdevsim/health.c                |  20 +-
 include/linux/mlx5/driver.h                   |   4 -
 include/net/devlink.h                         |  27 +-
 net/devlink/core.c                            |   4 -
 net/devlink/devl_internal.h                   |  20 +-
 net/devlink/leftover.c                        | 442 +++++++-----------
 net/devlink/netlink.c                         |  12 +-
 16 files changed, 272 insertions(+), 369 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Jan. 20, 2023, 3:20 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Wed, 18 Jan 2023 16:21:03 +0100 you wrote:
> From: Jiri Pirko <jiri@nvidia.com>
> 
> This patchset does not change functionality.
> 
> Patches 1-2 remove linecards lock and reference counting, converting
> them to be protected by devlink instance lock as the rest of
> the objects.
> 
> [...]

Here is the summary with links:
  - [net-next,v5,01/12] devlink: remove linecards lock
    (no matching commit)
  - [net-next,v5,02/12] devlink: remove linecard reference counting
    https://git.kernel.org/netdev/net-next/c/3a10173f48aa
  - [net-next,v5,03/12] net/mlx5e: Create separate devlink instance for ethernet auxiliary device
    https://git.kernel.org/netdev/net-next/c/ee75f1fc44dd
  - [net-next,v5,04/12] net/mlx5: Remove MLX5E_LOCKED_FLOW flag
    https://git.kernel.org/netdev/net-next/c/65a20c2eb96d
  - [net-next,v5,05/12] devlink: protect health reporter operation with instance lock
    https://git.kernel.org/netdev/net-next/c/dfdfd1305dde
  - [net-next,v5,06/12] devlink: remove reporters_lock
    https://git.kernel.org/netdev/net-next/c/1dea3b4e4c52
  - [net-next,v5,07/12] devlink: remove devl*_port_health_reporter_destroy()
    https://git.kernel.org/netdev/net-next/c/9f167327efec
  - [net-next,v5,08/12] devlink: remove reporter reference counting
    https://git.kernel.org/netdev/net-next/c/e994a75fb7f9
  - [net-next,v5,09/12] devlink: convert linecards dump to devlink_nl_instance_iter_dump()
    https://git.kernel.org/netdev/net-next/c/2557396808d9
  - [net-next,v5,10/12] devlink: convert reporters dump to devlink_nl_instance_iter_dump()
    https://git.kernel.org/netdev/net-next/c/19be51a93d99
  - [net-next,v5,11/12] devlink: remove devlink_dump_for_each_instance_get() helper
    https://git.kernel.org/netdev/net-next/c/543753d9e22e
  - [net-next,v5,12/12] devlink: add instance lock assertion in devl_is_registered()
    https://git.kernel.org/netdev/net-next/c/63ba54a52c41

You are awesome, thank you!