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 /net/lapb/lapb_iface.c | |
| parent | 6b75e3e8d664a9a1b99d31a7f4976ae70d1d090a (diff) | |
| download | olio-linux-3.10-84a797dd0b9f7130357b70577fcbda8e638c71a7.tar.xz olio-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 'net/lapb/lapb_iface.c')
0 files changed, 0 insertions, 0 deletions