• Eric Dumazet's avatar
    net: remove synchronize_net() from netdev_set_master() · 6df427fe
    Eric Dumazet authored
    In the old days, we used to access dev->master in __netif_receive_skb()
    in a rcu_read_lock section.
    
    So one synchronize_net() call was needed in netdev_set_master() to make
    sure another cpu could not use old master while/after we release it.
    
    We now use netdev_rx_handler infrastructure and added one
    synchronize_net() call in bond_release()/bond_release_all()
    
    Remove the obsolete synchronize_net() from netdev_set_master() and add
    one in bridge del_nbp() after its netdev_rx_handler_unregister() call.
    
    This makes enslave -d a bit faster.
    Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
    CC: Jiri Pirko <jpirko@redhat.com>
    CC: Stephen Hemminger <shemminger@vyatta.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6df427fe
dev.c 158 KB