* [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events
@ 2017-04-12 0:02 David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 1/8] rtnetlink: Do not generate notifications for MTU events David Ahern
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12 0:02 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
Vlad's recent patch to add the event type to rtnetlink notifications
points out a number of redundant or unnecessary notifications sent to
userspace for events that are essentially internal to the kernel. Trim
the list to put a dent in the notification storm.
v2
- rebased to top of net-next with IFLA_EVENT patch reverted
- dropped removal NETDEV_CHANGEINFODATA since it is intentionally
only to send a message to userspace
- dropped NOTIFY_PEERS since Vlad's says it is needed for macvlans
- add patches to remove NETDEV_CHANGEUPPER and NETDEV_CHANGE_TX_QUEUE_LEN
from the event list
David Ahern (8):
rtnetlink: Do not generate notifications for MTU events
rtnetlink: Do not generate notification for UDP_TUNNEL_PUSH_INFO
rtnetlink: Do not generate notifications for CHANGEADDR event
rtnetlink: Do not generate notifications for POST_TYPE_CHANGE event
rtnetlink: Do not generate notifications for PRECHANGEUPPER event
rtnetlink: Do not generate notifications for CHANGELOWERSTATE event
rtnetlink: Do not generate notifications for NETDEV_CHANGEUPPER event
rtnetlink: Do not generate notifications for
NETDEV_CHANGE_TX_QUEUE_LEN event
net/core/rtnetlink.c | 9 ---------
1 file changed, 9 deletions(-)
--
2.1.4
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH net-next v2 1/8] rtnetlink: Do not generate notifications for MTU events
2017-04-12 0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
@ 2017-04-12 0:02 ` David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 2/8] rtnetlink: Do not generate notification for UDP_TUNNEL_PUSH_INFO David Ahern
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12 0:02 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
Changing MTU on a link currently causes 3 messages to be sent to userspace:
[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1490 qdisc noqueue state UNKNOWN group default
link/ether f2:52:5c:6d:21:f3 brd ff:ff:ff:ff:ff:ff
[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
link/ether f2:52:5c:6d:21:f3 brd ff:ff:ff:ff:ff:ff
[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
link/ether f2:52:5c:6d:21:f3 brd ff:ff:ff:ff:ff:ff
Remove the messages sent for PRE_CHANGE_MTU and CHANGE_MTU netdev events.
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
net/core/rtnetlink.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 58419da7961b..79ab43796b08 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4117,7 +4117,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
switch (event) {
case NETDEV_REBOOT:
- case NETDEV_CHANGEMTU:
case NETDEV_CHANGEADDR:
case NETDEV_CHANGENAME:
case NETDEV_FEAT_CHANGE:
@@ -4126,7 +4125,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
case NETDEV_NOTIFY_PEERS:
case NETDEV_CHANGEUPPER:
case NETDEV_RESEND_IGMP:
- case NETDEV_PRECHANGEMTU:
case NETDEV_CHANGEINFODATA:
case NETDEV_PRECHANGEUPPER:
case NETDEV_CHANGELOWERSTATE:
--
2.1.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net-next v2 2/8] rtnetlink: Do not generate notification for UDP_TUNNEL_PUSH_INFO
2017-04-12 0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 1/8] rtnetlink: Do not generate notifications for MTU events David Ahern
@ 2017-04-12 0:02 ` David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 3/8] rtnetlink: Do not generate notifications for CHANGEADDR event David Ahern
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12 0:02 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
NETDEV_UDP_TUNNEL_PUSH_INFO is an internal notifier; nothing userspace
can do so don't generate a netlink notification.
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
net/core/rtnetlink.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 79ab43796b08..58722bf10d50 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4128,7 +4128,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
case NETDEV_CHANGEINFODATA:
case NETDEV_PRECHANGEUPPER:
case NETDEV_CHANGELOWERSTATE:
- case NETDEV_UDP_TUNNEL_PUSH_INFO:
case NETDEV_CHANGE_TX_QUEUE_LEN:
rtmsg_ifinfo(RTM_NEWLINK, dev, 0, GFP_KERNEL);
break;
--
2.1.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net-next v2 3/8] rtnetlink: Do not generate notifications for CHANGEADDR event
2017-04-12 0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 1/8] rtnetlink: Do not generate notifications for MTU events David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 2/8] rtnetlink: Do not generate notification for UDP_TUNNEL_PUSH_INFO David Ahern
@ 2017-04-12 0:02 ` David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 4/8] rtnetlink: Do not generate notifications for POST_TYPE_CHANGE event David Ahern
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12 0:02 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
Changing hardware address generates redundant messages:
[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff
[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff
Do not send a notification for the CHANGEADDR notifier.
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
net/core/rtnetlink.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 58722bf10d50..574f9b79919a 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4117,7 +4117,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
switch (event) {
case NETDEV_REBOOT:
- case NETDEV_CHANGEADDR:
case NETDEV_CHANGENAME:
case NETDEV_FEAT_CHANGE:
case NETDEV_BONDING_FAILOVER:
--
2.1.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net-next v2 4/8] rtnetlink: Do not generate notifications for POST_TYPE_CHANGE event
2017-04-12 0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
` (2 preceding siblings ...)
2017-04-12 0:02 ` [PATCH net-next v2 3/8] rtnetlink: Do not generate notifications for CHANGEADDR event David Ahern
@ 2017-04-12 0:02 ` David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 5/8] rtnetlink: Do not generate notifications for PRECHANGEUPPER event David Ahern
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12 0:02 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
Changing the master device for a link generates many messages; the one
generated for POST_TYPE_CHANGE is redundant:
[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master br1 state UNKNOWN group default
link/ether 02:02:02:02:02:03 brd ff:ff:ff:ff:ff:ff
[LINK]11: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master br1 state UNKNOWN group default
link/ether 02:02:02:02:02:03 brd ff:ff:ff:ff:ff:ff
Remove POST_TYPE_CHANGE from the list of notifiers that generate
notifications.
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
net/core/rtnetlink.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 574f9b79919a..8cfb9e3c1f6e 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4120,7 +4120,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
case NETDEV_CHANGENAME:
case NETDEV_FEAT_CHANGE:
case NETDEV_BONDING_FAILOVER:
- case NETDEV_POST_TYPE_CHANGE:
case NETDEV_NOTIFY_PEERS:
case NETDEV_CHANGEUPPER:
case NETDEV_RESEND_IGMP:
--
2.1.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net-next v2 5/8] rtnetlink: Do not generate notifications for PRECHANGEUPPER event
2017-04-12 0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
` (3 preceding siblings ...)
2017-04-12 0:02 ` [PATCH net-next v2 4/8] rtnetlink: Do not generate notifications for POST_TYPE_CHANGE event David Ahern
@ 2017-04-12 0:02 ` David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 6/8] rtnetlink: Do not generate notifications for CHANGELOWERSTATE event David Ahern
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12 0:02 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
PRECHANGEUPPER is an internal event; do not generate userspace
notifications.
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
net/core/rtnetlink.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 8cfb9e3c1f6e..10df445bb818 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4124,7 +4124,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
case NETDEV_CHANGEUPPER:
case NETDEV_RESEND_IGMP:
case NETDEV_CHANGEINFODATA:
- case NETDEV_PRECHANGEUPPER:
case NETDEV_CHANGELOWERSTATE:
case NETDEV_CHANGE_TX_QUEUE_LEN:
rtmsg_ifinfo(RTM_NEWLINK, dev, 0, GFP_KERNEL);
--
2.1.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net-next v2 6/8] rtnetlink: Do not generate notifications for CHANGELOWERSTATE event
2017-04-12 0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
` (4 preceding siblings ...)
2017-04-12 0:02 ` [PATCH net-next v2 5/8] rtnetlink: Do not generate notifications for PRECHANGEUPPER event David Ahern
@ 2017-04-12 0:02 ` David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 7/8] rtnetlink: Do not generate notifications for NETDEV_CHANGEUPPER event David Ahern
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12 0:02 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
CHANGELOWERSTATE is an internal event; do not generate userspace
notifications.
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
net/core/rtnetlink.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 10df445bb818..b70e915be66d 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4124,7 +4124,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
case NETDEV_CHANGEUPPER:
case NETDEV_RESEND_IGMP:
case NETDEV_CHANGEINFODATA:
- case NETDEV_CHANGELOWERSTATE:
case NETDEV_CHANGE_TX_QUEUE_LEN:
rtmsg_ifinfo(RTM_NEWLINK, dev, 0, GFP_KERNEL);
break;
--
2.1.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net-next v2 7/8] rtnetlink: Do not generate notifications for NETDEV_CHANGEUPPER event
2017-04-12 0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
` (5 preceding siblings ...)
2017-04-12 0:02 ` [PATCH net-next v2 6/8] rtnetlink: Do not generate notifications for CHANGELOWERSTATE event David Ahern
@ 2017-04-12 0:02 ` David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 8/8] rtnetlink: Do not generate notifications for NETDEV_CHANGE_TX_QUEUE_LEN event David Ahern
2017-04-13 17:17 ` [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Miller
8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12 0:02 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
NETDEV_CHANGEUPPER is an internal event; do not generate userspace
notifications.
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
net/core/rtnetlink.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index b70e915be66d..ef93f6c983f3 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4121,7 +4121,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
case NETDEV_FEAT_CHANGE:
case NETDEV_BONDING_FAILOVER:
case NETDEV_NOTIFY_PEERS:
- case NETDEV_CHANGEUPPER:
case NETDEV_RESEND_IGMP:
case NETDEV_CHANGEINFODATA:
case NETDEV_CHANGE_TX_QUEUE_LEN:
--
2.1.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH net-next v2 8/8] rtnetlink: Do not generate notifications for NETDEV_CHANGE_TX_QUEUE_LEN event
2017-04-12 0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
` (6 preceding siblings ...)
2017-04-12 0:02 ` [PATCH net-next v2 7/8] rtnetlink: Do not generate notifications for NETDEV_CHANGEUPPER event David Ahern
@ 2017-04-12 0:02 ` David Ahern
2017-04-13 17:17 ` [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Miller
8 siblings, 0 replies; 10+ messages in thread
From: David Ahern @ 2017-04-12 0:02 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
Changing tx queue length generates identical messages:
[LINK]22: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
link/ether 02:04:f4:b7:5c:d2 brd ff:ff:ff:ff:ff:ff promiscuity 0
dummy numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
[LINK]22: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
link/ether 02:04:f4:b7:5c:d2 brd ff:ff:ff:ff:ff:ff promiscuity 0
dummy numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
Remove NETDEV_CHANGE_TX_QUEUE_LEN from the list of notifiers that generate
notifications.
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
net/core/rtnetlink.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index ef93f6c983f3..c138b6b75e59 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4123,7 +4123,6 @@ static int rtnetlink_event(struct notifier_block *this, unsigned long event, voi
case NETDEV_NOTIFY_PEERS:
case NETDEV_RESEND_IGMP:
case NETDEV_CHANGEINFODATA:
- case NETDEV_CHANGE_TX_QUEUE_LEN:
rtmsg_ifinfo(RTM_NEWLINK, dev, 0, GFP_KERNEL);
break;
default:
--
2.1.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events
2017-04-12 0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
` (7 preceding siblings ...)
2017-04-12 0:02 ` [PATCH net-next v2 8/8] rtnetlink: Do not generate notifications for NETDEV_CHANGE_TX_QUEUE_LEN event David Ahern
@ 2017-04-13 17:17 ` David Miller
8 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2017-04-13 17:17 UTC (permalink / raw)
To: dsa; +Cc: netdev
From: David Ahern <dsa@cumulusnetworks.com>
Date: Tue, 11 Apr 2017 17:02:39 -0700
> Vlad's recent patch to add the event type to rtnetlink notifications
> points out a number of redundant or unnecessary notifications sent to
> userspace for events that are essentially internal to the kernel. Trim
> the list to put a dent in the notification storm.
>
> v2
> - rebased to top of net-next with IFLA_EVENT patch reverted
> - dropped removal NETDEV_CHANGEINFODATA since it is intentionally
> only to send a message to userspace
> - dropped NOTIFY_PEERS since Vlad's says it is needed for macvlans
> - add patches to remove NETDEV_CHANGEUPPER and NETDEV_CHANGE_TX_QUEUE_LEN
> from the event list
Series applied, thanks David.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-04-13 17:17 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-12 0:02 [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 1/8] rtnetlink: Do not generate notifications for MTU events David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 2/8] rtnetlink: Do not generate notification for UDP_TUNNEL_PUSH_INFO David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 3/8] rtnetlink: Do not generate notifications for CHANGEADDR event David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 4/8] rtnetlink: Do not generate notifications for POST_TYPE_CHANGE event David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 5/8] rtnetlink: Do not generate notifications for PRECHANGEUPPER event David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 6/8] rtnetlink: Do not generate notifications for CHANGELOWERSTATE event David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 7/8] rtnetlink: Do not generate notifications for NETDEV_CHANGEUPPER event David Ahern
2017-04-12 0:02 ` [PATCH net-next v2 8/8] rtnetlink: Do not generate notifications for NETDEV_CHANGE_TX_QUEUE_LEN event David Ahern
2017-04-13 17:17 ` [PATCH net-next v2 0/8] rtnetlink: Cleanup user notifications for netdev events David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).