diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2011-07-18 16:08:27 +0200 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2011-07-18 16:08:27 +0200 |
commit | 84a797dd0b9f7130357b70577fcbda8e638c71a7 (patch) | |
tree | 6d093dba184228f689873b7171d63933f0676e0d /arch | |
parent | 6b75e3e8d664a9a1b99d31a7f4976ae70d1d090a (diff) | |
download | linux-3.10-84a797dd0b9f7130357b70577fcbda8e638c71a7.tar.gz linux-3.10-84a797dd0b9f7130357b70577fcbda8e638c71a7.tar.bz2 linux-3.10-84a797dd0b9f7130357b70577fcbda8e638c71a7.zip |
netfilter: nfnetlink_queue: provide rcu enabled callbacks
nenetlink_queue operations on SMP are not efficent if several queues are
used, because of nfnl_mutex contention when applications give packet
verdict.
Use new call_rcu field in struct nfnl_callback to advertize a callback
that is called under rcu_read_lock instead of nfnl_mutex.
On my 2x4x2 machine, I was able to reach 2.000.000 pps going through
user land returning NF_ACCEPT verdicts without losses, instead of less
than 500.000 pps before patch.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Florian Westphal <fw@strlen.de>
CC: Eric Leblond <eric@regit.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions