• Mihai Maruseac's avatar
    ipv6/addrconf: speedup /proc/net/if_inet6 filling · 1d578303
    Mihai Maruseac authored
    This ensures a linear behaviour when filling /proc/net/if_inet6 thus making
    ifconfig run really fast on IPv6 only addresses. In fact, with this patch and
    the IPv4 one sent a while ago, ifconfig will run in linear time regardless of
    address type.
    
    IPv4 related patch: f04565dd
    	 dev: use name hash for dev_seq_ops
    	 ...
    
    Some statistics (running ifconfig > /dev/null on a different setup):
    
    iface count / IPv6 no-patch time / IPv6 patched time / IPv4 time
    ----------------------------------------------------------------
          6250  |       0.23 s       |      0.13 s       |  0.11 s
         12500  |       0.62 s       |      0.28 s       |  0.22 s
         25000  |       2.91 s       |      0.57 s       |  0.46 s
         50000  |      11.37 s       |      1.21 s       |  0.94 s
        128000  |      86.78 s       |      3.05 s       |  2.54 s
    Signed-off-by: default avatarMihai Maruseac <mmaruseac@ixiacom.com>
    Cc: Daniel Baluta <dbaluta@ixiacom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1d578303
addrconf.c 115 KB