net: use batched device unregister in veth and macvlan
authorEric Dumazet <eric.dumazet@gmail.com>
Sun, 8 May 2011 23:17:57 +0000 (23:17 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 May 2011 18:41:40 +0000 (11:41 -0700)
commit226bd3411471af42f7edbdfaf73f2d54ebb62a66
tree3d815d5f9f2b060d2ce9567c2c2e8a6f5fbb42b0
parent7ef73bca731fea9d4b706db2acb96b6488aa1b0e
net: use batched device unregister in veth and macvlan

veth devices dont use the batched device unregisters yet.

Since veth are a pair of devices, it makes sense to use a batch of two
unregisters, this roughly divides dismantle time by two.

Fix this by changing dellink() callers to always provide a non NULL
head. (Idea from Michał Mirosław)

This patch also handles macvlan case : We now dismantle all macvlans on
top of a lower dev at once.

Reported-by: Alex Bligh <alex@alex.org.uk>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Michał Mirosław <mirqus@gmail.com>
Cc: Jesse Gross <jesse@nicira.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Ben Greear <greearb@candelatech.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/macvlan.c
net/core/rtnetlink.c