neigh: RCU conversion of struct neighbour
authorEric Dumazet <eric.dumazet@gmail.com>
Thu, 7 Oct 2010 00:49:21 +0000 (17:49 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 7 Oct 2010 01:01:33 +0000 (18:01 -0700)
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: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

No differences found