[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250318124706.94156-1-jiri@resnulli.us>
Date: Tue, 18 Mar 2025 13:47:03 +0100
From: Jiri Pirko <jiri@...nulli.us>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net,
edumazet@...gle.com,
kuba@...nel.org,
pabeni@...hat.com,
saeedm@...dia.com,
leon@...nel.org,
tariqt@...dia.com,
andrew+netdev@...n.ch,
dakr@...nel.org,
rafael@...nel.org,
gregkh@...uxfoundation.org,
przemyslaw.kitszel@...el.com,
anthony.l.nguyen@...el.com,
cratiu@...dia.com,
jacob.e.keller@...el.com,
konrad.knitter@...el.com,
cjubran@...dia.com
Subject: [PATCH net-next RFC 0/3] net/mlx5: Introduce shared devlink instance for PFs on same chip
From: Jiri Pirko <jiri@...dia.com>
This patchsets aims to introduce an entity, that allows to pin
devlink configuration objects (params, resources, etc) on for things
shared among multiple PFs.
As the shared entity that kind of float above the actual PFs does not
have explicit a PCI function, use faux device to back the devlink
instance. Expose the relationship between PF devlink instances and
this new shared instance by nested devlink attributes.
Example:
$ devlink dev
pci/0000:08:00.0: <--- PF0
nested_devlink:
auxiliary/mlx5_core.eth.0
faux/mlx5_core_83013c12b77faa1a30000c82a1045c91: <--- shared devlink for chip that PF0 and PF1 are part of
nested_devlink:
pci/0000:08:00.0
pci/0000:08:00.1
auxiliary/mlx5_core.eth.0 <--- ethernet auxiliary device of PF0
pci/0000:08:00.1: <--- PF1
nested_devlink:
auxiliary/mlx5_core.eth.1
auxiliary/mlx5_core.eth.1 <--- ethernet auxiliary device of PF1
The first patch is a little adjustment to recently introduced faux driver.
The second patch introduces the shared devlink instance.
The last patch introduces example devlink param for the shared instance.
Jiri Pirko (3):
faux: extend the creation function for module namespace
net/mlx5: Introduce shared devlink instance for PFs on same chip
net/mlx5: Introduce enable_sriov param for shared devlink
drivers/base/faux.c | 20 +-
.../net/ethernet/mellanox/mlx5/core/Makefile | 5 +-
.../mellanox/mlx5/core/lib/nv_param.c | 236 ++++++++++++++++++
.../mellanox/mlx5/core/lib/nv_param.h | 14 ++
.../net/ethernet/mellanox/mlx5/core/main.c | 18 ++
.../ethernet/mellanox/mlx5/core/sh_devlink.c | 164 ++++++++++++
.../ethernet/mellanox/mlx5/core/sh_devlink.h | 11 +
include/linux/device/faux.h | 6 +-
include/linux/mlx5/driver.h | 6 +
include/linux/module.h | 2 +-
10 files changed, 469 insertions(+), 13 deletions(-)
create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/nv_param.c
create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lib/nv_param.h
create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/sh_devlink.c
create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/sh_devlink.h
--
2.48.1
Powered by blists - more mailing lists