| #
1850e76b |
| 12-Mar-2026 |
Jiri Pirko <jiri@nvidia.com> |
devlink: introduce shared devlink instance for PFs on same chip
Multiple PFs may reside on the same physical chip, running a single firmware. Some of the resources and configurations may be shared a
devlink: introduce shared devlink instance for PFs on same chip
Multiple PFs may reside on the same physical chip, running a single firmware. Some of the resources and configurations may be shared among these PFs. Currently, there is no good object to pin the configuration knobs on.
Introduce a shared devlink instance, instantiated upon probe of the first PF and removed during remove of the last PF. The shared devlink instance is not backed by any device device, as there is no PCI device related to it.
The implementation uses reference counting to manage the lifecycle: each PF that probes calls devlink_shd_get() to get or create the shared instance, and calls devlink_shd_put() when it removes. The shared instance is automatically destroyed when the last PF removes.
Example:
pci/0000:08:00.0: index 0 nested_devlink: auxiliary/mlx5_core.eth.0 devlink_index/1: index 1 nested_devlink: pci/0000:08:00.0 pci/0000:08:00.1 auxiliary/mlx5_core.eth.0: index 2 pci/0000:08:00.1: index 3 nested_devlink: auxiliary/mlx5_core.eth.1 auxiliary/mlx5_core.eth.1: index 4
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://patch.msgid.link/20260312100407.551173-12-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
71179ac5 |
| 28-Aug-2023 |
Jiri Pirko <jiri@nvidia.com> |
devlink: move devlink_notify_register/unregister() to dev.c
At last, move the last bits out of leftover.c, the devlink_notify_register/unregister() functions to dev.c
Signed-off-by: Jiri Pirko <jir
devlink: move devlink_notify_register/unregister() to dev.c
At last, move the last bits out of leftover.c, the devlink_notify_register/unregister() functions to dev.c
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lore.kernel.org/r/20230828061657.300667-16-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
9edbe6f3 |
| 28-Aug-2023 |
Jiri Pirko <jiri@nvidia.com> |
devlink: push linecard related code into separate file
Cut out another chunk from leftover.c and put linecard related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: ht
devlink: push linecard related code into separate file
Cut out another chunk from leftover.c and put linecard related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lore.kernel.org/r/20230828061657.300667-13-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
7cc7194e |
| 28-Aug-2023 |
Jiri Pirko <jiri@nvidia.com> |
devlink: push rate related code into separate file
Cut out another chunk from leftover.c and put rate related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lo
devlink: push rate related code into separate file
Cut out another chunk from leftover.c and put rate related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lore.kernel.org/r/20230828061657.300667-12-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
4bbdec80 |
| 28-Aug-2023 |
Jiri Pirko <jiri@nvidia.com> |
devlink: push trap related code into separate file
Cut out another chunk from leftover.c and put trap related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lo
devlink: push trap related code into separate file
Cut out another chunk from leftover.c and put trap related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lore.kernel.org/r/20230828061657.300667-11-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
1aa47ca1 |
| 28-Aug-2023 |
Jiri Pirko <jiri@nvidia.com> |
devlink: push region related code into separate file
Cut out another chunk from leftover.c and put region related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https:
devlink: push region related code into separate file
Cut out another chunk from leftover.c and put region related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lore.kernel.org/r/20230828061657.300667-9-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
830c41e1 |
| 28-Aug-2023 |
Jiri Pirko <jiri@nvidia.com> |
devlink: push param related code into separate file
Cut out another chunk from leftover.c and put param related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://
devlink: push param related code into separate file
Cut out another chunk from leftover.c and put param related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lore.kernel.org/r/20230828061657.300667-8-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
a9f96007 |
| 28-Aug-2023 |
Jiri Pirko <jiri@nvidia.com> |
devlink: push resource related code into separate file
Cut out another chunk from leftover.c and put resource related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: ht
devlink: push resource related code into separate file
Cut out another chunk from leftover.c and put resource related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lore.kernel.org/r/20230828061657.300667-7-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
a9fd44b1 |
| 28-Aug-2023 |
Jiri Pirko <jiri@nvidia.com> |
devlink: push dpipe related code into separate file
Cut out another chunk from leftover.c and put dpipe related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://
devlink: push dpipe related code into separate file
Cut out another chunk from leftover.c and put dpipe related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lore.kernel.org/r/20230828061657.300667-6-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
2b4d8bb0 |
| 28-Aug-2023 |
Jiri Pirko <jiri@nvidia.com> |
devlink: push shared buffer related code into separate file
Cut out another chunk from leftover.c and put sb related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: htt
devlink: push shared buffer related code into separate file
Cut out another chunk from leftover.c and put sb related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lore.kernel.org/r/20230828061657.300667-4-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
eec1e5ea |
| 28-Aug-2023 |
Jiri Pirko <jiri@nvidia.com> |
devlink: push port related code into separate file
Cut out another chunk from leftover.c and put port related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lo
devlink: push port related code into separate file
Cut out another chunk from leftover.c and put port related code into a separate file.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Link: https://lore.kernel.org/r/20230828061657.300667-3-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
6b7c486c |
| 03-Aug-2023 |
Jiri Pirko <jiri@nvidia.com> |
devlink: add split ops generated according to spec
Improve the existing devlink spec in order to serve as a source for generation of valid devlink split ops for the existing commands. Add the genera
devlink: add split ops generated according to spec
Improve the existing devlink spec in order to serve as a source for generation of valid devlink split ops for the existing commands. Add the generated sources.
Node that the policies are narrowed down only to the attributes that are actually parsed. The dont-validate-strict parsing policy makes sure that other possibly passed garbage attributes from userspace are ignored during validation.
Signed-off-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Jakub Kicinski <kuba@kernel.org> Link: https://lore.kernel.org/r/20230803111340.1074067-11-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
b4740e3a |
| 14-Feb-2023 |
Moshe Shemesh <moshe@nvidia.com> |
devlink: Split out health reporter create code
Move devlink health reporter create/destroy and related dev code to new file health.c. This file shall include all callbacks and functionality that are
devlink: Split out health reporter create code
Move devlink health reporter create/destroy and related dev code to new file health.c. This file shall include all callbacks and functionality that are related to devlink health.
In addition, fix kdoc indentation and make reporter create/destroy kdoc more clear. No functional change in this patch.
Signed-off-by: Moshe Shemesh <moshe@nvidia.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
dbeeca81 |
| 02-Feb-2023 |
Moshe Shemesh <moshe@nvidia.com> |
devlink: Split out dev get and dump code
Move devlink dev get and dump callbacks and related dev code to new file dev.c. This file shall include all callbacks that are specific on devlink dev object
devlink: Split out dev get and dump code
Move devlink dev get and dump callbacks and related dev code to new file dev.c. This file shall include all callbacks that are specific on devlink dev object.
No functional change in this patch.
Signed-off-by: Moshe Shemesh <moshe@nvidia.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
623cd13b |
| 05-Jan-2023 |
Jakub Kicinski <kuba@kernel.org> |
devlink: split out netlink code
Move out the netlink glue into a separate file. Leave the ops in the old file because we'd have to export a ton of functions. Going forward we should switch to split
devlink: split out netlink code
Move out the netlink glue into a separate file. Leave the ops in the old file because we'd have to export a ton of functions. Going forward we should switch to split ops which will let us to put the new ops in the netlink.c file.
Pure code move, no functional changes.
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
687125b5 |
| 05-Jan-2023 |
Jakub Kicinski <kuba@kernel.org> |
devlink: split out core code
Move core code into a separate file. It's spread around the main file which makes refactoring and figuring out how devlink works harder.
Move the xarray, all the most c
devlink: split out core code
Move core code into a separate file. It's spread around the main file which makes refactoring and figuring out how devlink works harder.
Move the xarray, all the most core devlink instance code out like locking, ref counting, alloc, register, etc. Leave port stuff in leftover.c, if we want to move port code it'd probably be to its own file.
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
f05bd8eb |
| 05-Jan-2023 |
Jakub Kicinski <kuba@kernel.org> |
devlink: move code to a dedicated directory
The devlink code is hard to navigate with 13kLoC in one file. I really like the way Michal split the ethtool into per-command files and core. It'd probabl
devlink: move code to a dedicated directory
The devlink code is hard to navigate with 13kLoC in one file. I really like the way Michal split the ethtool into per-command files and core. It'd probably be too much to split it all up, but we can at least separate the core parts out of the per-cmd implementations and put it in a directory so that new commands can be separate files.
Move the code, subsequent commit will do a partial split.
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|