• Eric Dumazet's avatar
    neigh: Convert garbage collection from softirq to workqueue · e4c4e448
    Eric Dumazet authored
    Current neigh_periodic_timer() function is fired by timer IRQ, and
    scans one hash bucket each round (very litle work in fact)
    
    As we are supposed to scan whole hash table in 15 seconds, this means
    neigh_periodic_timer() can be fired very often. (depending on the number
    of concurrent hash entries we stored in this table)
    
    Converting this to a workqueue permits scanning whole table, minimizing
    icache pollution, and firing this work every 15 seconds, independantly
    of hash table size.
    
    This 15 seconds delay is not a hard number, as work is a deferrable one.
    Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e4c4e448
neighbour.c 66.8 KB