Eric Dumazet 19f572565e 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>
2010-10-17 13:53:16 -07:00
..
2010-09-23 14:33:39 -07:00
2010-09-15 22:06:05 -07:00
2010-02-22 16:20:22 -08:00
2010-10-17 13:53:16 -07:00
2010-10-17 13:53:16 -07:00
2010-10-03 21:50:51 -07:00
2010-08-19 00:08:30 -07:00
2010-09-23 14:33:39 -07:00
2010-09-23 14:33:39 -07:00
2010-06-28 23:24:29 -07:00
2010-02-22 16:20:22 -08:00
2010-10-03 21:50:53 -07:00
2010-06-30 13:31:19 -07:00
2010-08-19 00:08:30 -07:00
2010-06-26 22:00:03 -07:00
2009-03-02 03:00:15 -08:00
2009-03-02 03:00:15 -08:00
2010-10-17 13:46:33 -07:00
2010-09-23 14:33:39 -07:00
2010-09-23 14:33:39 -07:00
2009-05-25 22:44:59 -07:00
2010-09-23 14:33:39 -07:00
2010-07-12 12:57:54 -07:00
2010-07-12 12:57:54 -07:00