• E
    neigh: RCU conversion of struct neighbour · 767e97e1
    Eric Dumazet 提交于
    This is the second step for neighbour RCU conversion.
    
    (first was commit d6bf7817 : RCU conversion of neigh hash table)
    
    neigh_lookup() becomes lockless, but still take a reference on found
    neighbour. (no more read_lock()/read_unlock() on tbl->lock)
    
    struct neighbour gets an additional rcu_head field and is freed after an
    RCU grace period.
    
    Future work would need to eventually not take a reference on neighbour
    for temporary dst (DST_NOCACHE), but this would need dst->_neighbour to
    use a noref bit like we did for skb->_dst.
    Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    767e97e1
neighbour.c 68.2 KB