netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).