net: factorize sync-rcu call in unregister_netdevice_many
authorOctavian Purdila <opurdila@ixiacom.com>
Mon, 13 Dec 2010 12:44:07 +0000 (12:44 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 16 Dec 2010 22:04:44 +0000 (14:04 -0800)
commit443457242beb6716b43db4d62fe148eab5515505
tree0dbcf7dbaa7c6be6ca84631f3e865cde3d6b59f2
parentc6c8fea29769d998d94fcec9b9f14d4b52b349d3
net: factorize sync-rcu call in unregister_netdevice_many

Add dev_close_many and dev_deactivate_many to factorize another
sync-rcu operation on the netdevice unregister path.

$ modprobe dummy numdummies=10000
$ ip link set dev dummy* up
$ time rmmod dummy

Without the patch           With the patch

real    0m 24.63s           real    0m 5.15s
user    0m 0.00s            user    0m 0.00s
sys     0m 6.05s            sys     0m 5.14s

Signed-off-by: Octavian Purdila <opurdila@ixiacom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sch_generic.h
net/core/dev.c
net/sched/sch_generic.c