* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.