net: Introduce unregister_netdevice_many()
Subsystems (2)
PATCH 2/6 net: Introduce unregister_netdevice_many()
Introduce rollback_registered_many() and unregister_netdevice_many()
rollback_registered_many() is able to perform necessary steps at device dismantle time, factorizing two expensive synchronize_net() calls.
Signed-off-by Eric Dumazet <[email protected]>
--- include/linux/netdevice.h | 1 net/core/dev.c | 97 ++++++++++++++++++++++++------------ 2 files changed, 66 insertions(+), 32 deletions(-)
include/linux/netdevice.h +1 -0
@@ -1119,6 +1119,7 @@ extern int dev_queue_xmit(struct sk_buff *skb);extern int register_netdevice (struct net_device *dev);extern void unregister_netdevice_queue (struct net_device *dev,struct list_head *head); +extern void unregister_netdevice_many (struct list_head *head);static inline void unregister_netdevice (struct net_device *dev) {unregister_netdevice_queue (dev,NULL );
net/core/dev.c +65 -32
130 lines not on this page · raw message
net/core/dev.c void unregister_netdevice_queue(struct net_device *dev, struct list_head *head) · line 5305
Quoted 11 lines · On Tuesday 27 October 2009 19:04:19 you wrote:
net/core/dev.c +10
-0+void unregister_netdevice_many (struct list_head *head) +{ +struct net_device *dev; + +if (!list_empty (head)) { +rollback_registered_many (head); +list_for_each_entry (dev, head, unreg_list) +net_set_todo (dev); + } +}
Looks like EXPORT_SYMBOL(unregister_netdevice_many) is missing?
Thanks,
tavi
Quoted 2 lines · Octavian Purdila
Looks like
EXPORT_SYMBOL(unregister_netdevice_many)is missing?
I added it in following patch, when really needed/used