Documentation: devlink: add nested instance section
Add a part talking about nested devlink instances describing the helpers and locking ordering. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b5f4e37133
commit
b6f23b319a
@ -18,6 +18,30 @@ netlink commands.
|
||||
|
||||
Drivers are encouraged to use the devlink instance lock for their own needs.
|
||||
|
||||
Nested instances
|
||||
----------------
|
||||
|
||||
Some objects, like linecards or port functions, could have another
|
||||
devlink instances created underneath. In that case, drivers should make
|
||||
sure to respect following rules:
|
||||
|
||||
- Lock ordering should be maintained. If driver needs to take instance
|
||||
lock of both nested and parent instances at the same time, devlink
|
||||
instance lock of the parent instance should be taken first, only then
|
||||
instance lock of the nested instance could be taken.
|
||||
- Driver should use object-specific helpers to setup the
|
||||
nested relationship:
|
||||
|
||||
- ``devl_nested_devlink_set()`` - called to setup devlink -> nested
|
||||
devlink relationship (could be user for multiple nested instances.
|
||||
- ``devl_port_fn_devlink_set()`` - called to setup port function ->
|
||||
nested devlink relationship.
|
||||
- ``devlink_linecard_nested_dl_set()`` - called to setup linecard ->
|
||||
nested devlink relationship.
|
||||
|
||||
The nested devlink info is exposed to the userspace over object-specific
|
||||
attributes of devlink netlink.
|
||||
|
||||
Interface documentation
|
||||
-----------------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user