macvlan: remove one synchronize_rcu() call
When one macvlan device is dismantled, we can avoid one synchronize_rcu() call done after deletion from hash list, since caller will perform a synchronize_net() call after its ndo_stop() call. Add a new netdev->dismantle field to signal this dismantle intent. Reduces RTNL hold time. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> CC: Patrick McHardy <kaber@trash.net> CC: Ben Greear <greearb@candelatech.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
034cfe48d0
commit
449f454426
@@ -1293,7 +1293,9 @@ struct net_device {
|
||||
NETREG_UNREGISTERED, /* completed unregister todo */
|
||||
NETREG_RELEASED, /* called free_netdev */
|
||||
NETREG_DUMMY, /* dummy device for NAPI poll */
|
||||
} reg_state:16;
|
||||
} reg_state:8;
|
||||
|
||||
bool dismantle; /* device is going do be freed */
|
||||
|
||||
enum {
|
||||
RTNL_LINK_INITIALIZED,
|
||||
|
Reference in New Issue
Block a user