Hello!

> > Also, probably, it makes sense to add neigh_lookup_light(), which does
> > not take refcnt, but required to call
> > neigh_release_light() (which is just rcu_read_unlock_bh()).
> 
> Which code paths would that make sense on?
>       fib_detect_death (ok)
>       infiniband (ok)
>       wireless/strip (ok) -- hey, this code is crap it has
>               a refcount leak already!
>       arp_req_get (ok)
>       ndisc (ok)
> 
> Perhaps killing the refcount all together, and just changing
> everybody to neigh_lookup_rcu(). Nobody holds a long term reference
> to the entries.

The only real user of refcnt is destination cache.

It uses __neigh_lookup/__neigh_lookup_errno, which could also
use neigh_lookup_rcu(), then do atomic_inc_not_zero() and, if it fails
fall to neigh_create().

Alexey
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to