Re: neighbour table RCU
From: Stephen Hemminger <hidden>
Date: 2009-09-01 15:59:24
On Tue, 01 Sep 2009 08:50:17 +0200 Eric Dumazet [off-list ref] wrote:
Stephen Hemminger a écrit :quoted
Looking at the neighbour table, it should be possible to get rid of the two reader/writer locks. The hash table lock is pretty amenable to RCU, but the dynamic resizing makes it non-trivial. Thinking of using a combination of RCU and sequence counts so that the reader would just rescan if resize was in progress.I am not sure neigh_tbl_lock rwlock should be changed, I did not see any contention on it.quoted
The reader/writer lock on the neighbour entry is more of a problem. Probably would be simpler/faster to change it into a spinlock and be done with it. The reader/writer lock is also used for the proxy list hash table, but that can just be a simple spinlock.This is probably is the only thing we want to do at this moment, halving atomic ops on neigh_resolve_output() But why neigh_resolve_output() was called so much in the bench is the question...
Every packet has to have an ARP resolution. --