summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2011-07-18 16:08:27 +0200
committerPatrick McHardy <kaber@trash.net>2011-07-18 16:08:27 +0200
commit84a797dd0b9f7130357b70577fcbda8e638c71a7 (patch)
tree6d093dba184228f689873b7171d63933f0676e0d /arch
parent6b75e3e8d664a9a1b99d31a7f4976ae70d1d090a (diff)
downloadlinux-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