summaryrefslogtreecommitdiff
path: root/drivers/net/tg3.c
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2010-10-14 20:56:39 +0000
committerDavid S. Miller <davem@davemloft.net>2010-10-17 13:53:16 -0700
commit19f572565ef66a0439574fd2299a7c804147e133 (patch)
tree09f9655a4e0d61986cb5ff88c503651974f47c65 /drivers/net/tg3.c
parent117a8cdea3647e8e11fac10d14eafefc20f9bda5 (diff)
downloadlinux-3.10-19f572565ef66a0439574fd2299a7c804147e133.tar.gz
linux-3.10-19f572565ef66a0439574fd2299a7c804147e133.tar.bz2
linux-3.10-19f572565ef66a0439574fd2299a7c804147e133.zip
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/tg3.c')
0 files changed, 0 insertions, 0 deletions