summaryrefslogtreecommitdiffstats
path: root/net/devlink/port.c
diff options
context:
space:
mode:
authorJiri Pirko <jiri@nvidia.com>2023-12-16 13:29:55 +0100
committerPaolo Abeni <pabeni@redhat.com>2023-12-19 15:31:40 +0100
commitcddbff470e3318834af518168d3a917b6e975062 (patch)
tree2932277f4dfc374f098cf39b24f0b52b89efffbe /net/devlink/port.c
parent11280ddeae238e3ea27d153794472cfca5e8d121 (diff)
downloadlinux-cddbff470e3318834af518168d3a917b6e975062.tar.gz
linux-cddbff470e3318834af518168d3a917b6e975062.tar.bz2
linux-cddbff470e3318834af518168d3a917b6e975062.zip
devlink: send notifications only if there are listeners
Introduce devlink_nl_notify_need() helper and using it to check at the beginning of notification functions to avoid overhead of composing notification messages in case nobody listens. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/devlink/port.c')
-rw-r--r--net/devlink/port.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/devlink/port.c b/net/devlink/port.c
index f229a8699214..32f4d0331e63 100644
--- a/net/devlink/port.c
+++ b/net/devlink/port.c
@@ -512,7 +512,7 @@ static void devlink_port_notify(struct devlink_port *devlink_port,
WARN_ON(cmd != DEVLINK_CMD_PORT_NEW && cmd != DEVLINK_CMD_PORT_DEL);
- if (!__devl_is_registered(devlink))
+ if (!__devl_is_registered(devlink) || !devlink_nl_notify_need(devlink))
return;
msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL);