• Eric Dumazet's avatar
    ipv6: speedup ipv6 tunnels dismantle · bb401cae
    Eric Dumazet authored
    Implement exit_batch() method to dismantle more devices
    per round.
    
    (rtnl_lock() ...
     unregister_netdevice_many() ...
     rtnl_unlock())
    
    Tested:
    $ cat add_del_unshare.sh
    for i in `seq 1 40`
    do
     (for j in `seq 1 100` ; do unshare -n /bin/true >/dev/null ; done) &
    done
    wait ; grep net_namespace /proc/slabinfo
    
    Before patch :
    $ time ./add_del_unshare.sh
    net_namespace        110    267   5504    1    2 : tunables    8    4    0 : slabdata    110    267      0
    
    real    3m25.292s
    user    0m0.644s
    sys     0m40.153s
    
    After patch:
    
    $ time ./add_del_unshare.sh
    net_namespace        126    282   5504    1    2 : tunables    8    4    0 : slabdata    126    282      0
    
    real	1m38.965s
    user	0m0.688s
    sys	0m37.017s
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bb401cae
ip6_tunnel.c 55.7 KB