diff options
author | David S. Miller <davem@davemloft.net> | 2021-08-14 15:59:10 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-08-14 15:59:10 +0300 |
commit | 2fa16787c47437318fc6ceeeddc34ceabd9313c7 (patch) | |
tree | 4cefc1fb3e85246e3397dded87aa4df00d3dc9b7 /include/net/devlink.h | |
parent | 38e3bfa86964961291760e7da6227794106d2247 (diff) | |
parent | a1fcb106ae97cc34cc8101efafb89eaa837be009 (diff) | |
download | linux-2fa16787c47437318fc6ceeeddc34ceabd9313c7.tar.xz |
Merge branch 'devlink-cleanup-for-delay-event'
Leon Romanovsky says:
====================
Devlink cleanup for delay event series
Jakub's request to make sure that devlink events are delayed and not
printed till they fully accessible [1] requires us to implement delayed
event notification system in the devlink.
In order to do it, I moved some of my patches (xarray e.t.c) from the future
series to be before "Move devlink_register to be near devlink_reload_enable" [2].
That allows us to rely on DEVLINK_REGISTERED xarray mark to decide if to print
event or not.
Other patches are simple cleanup which is needed anyway.
[1] https://lore.kernel.org/lkml/20210811071817.4af5ab34@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com
[2] https://lore.kernel.org/lkml/cover.1628599239.git.leonro@nvidia.com
Next in the queue:
* Delay event series
* Move devlink_register to be near devlink_reload_enable"
* Extension of devlink_ops to be set dynamically
* devlink_reload_* delete
* Devlink locks rework to user xarray and reference counting
* ????
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/devlink.h')
-rw-r--r-- | include/net/devlink.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/net/devlink.h b/include/net/devlink.h index 1151497c0ec5..154cf0dbca37 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -32,7 +32,7 @@ struct devlink_dev_stats { struct devlink_ops; struct devlink { - struct list_head list; + u32 index; struct list_head port_list; struct list_head rate_list; struct list_head sb_list; @@ -56,6 +56,8 @@ struct devlink { */ u8 reload_failed:1, reload_enabled:1; + refcount_t refcount; + struct completion comp; char priv[0] __aligned(NETDEV_ALIGN); }; |