diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-10-14 20:56:39 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-10-17 13:53:16 -0700 |
commit | 19f572565ef66a0439574fd2299a7c804147e133 (patch) | |
tree | 09f9655a4e0d61986cb5ff88c503651974f47c65 /drivers/net/acenic.c | |
parent | 117a8cdea3647e8e11fac10d14eafefc20f9bda5 (diff) |
fib_hash: RCU conversion phase 2
Get rid of fib_hash_lock rwlock.
The fn_zone hash table resize is the noticeable part of this patch.
I added a seqlock per fn_zone, so that readers can restart their lookup
in the (very rare) case a writer expanded the hash table.
Add rcu heads in fib_alias and fib_node, use call_rcu() to defer their
freeing, and use appropriate _rcu list manipulations.
Stress test (160.000.000 udp frames sent, IP route cache disabled to
mimic DDOS attack, FIB_HASH)
Before:
real 0m41.191s
user 0m13.137s
sys 8m55.241s
After:
real 0m38.091s
user 0m13.189s
sys 7m53.018s
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/acenic.c')
0 files changed, 0 insertions, 0 deletions