• E
    [IPV4] FIB_HASH : Avoid unecessary loop in fn_hash_dump_zone() · 8d3f099a
    Eric Dumazet 提交于
    I noticed "ip route list" was slower than "cat /proc/net/route" on a
    machine with a full Internet routing table (214392 entries : Special
    thanks to Robert ;) )
    
    This is similar to problem reported in commit
    d8c92830 ("[IPV4] ROUTE: ip_rt_dump()
    is unecessary slow")
    
    Fix is to avoid scanning the begining of fz_hash table, but directly
    seek to the right offset.
    
    Before patch :
    
    time ip route >/tmp/ROUTE
    
    real    0m1.285s
    user    0m0.712s
    sys     0m0.436s
    
    After patch
    
    # time ip route >/tmp/ROUTE
    
    real    0m0.835s
    user    0m0.692s
    sys     0m0.124s
    Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    8d3f099a
fib_hash.c 23.2 KB