summaryrefslogtreecommitdiffstats
path: root/block/compat_ioctl.c
diff options
context:
space:
mode:
authorEric Dumazet2011-04-04 17:04:03 +0200
committerPatrick McHardy2011-04-04 17:04:03 +0200
commit7f5c6d4f665bb57a19a34ce1fb16cc708c04f219 (patch)
treee804faa506bbf9edcfd1fdadb2ab3749f58836cd /block/compat_ioctl.c
parentxen: netfront: fix declaration order (diff)
downloadkernel-qcow2-linux-7f5c6d4f665bb57a19a34ce1fb16cc708c04f219.tar.gz
kernel-qcow2-linux-7f5c6d4f665bb57a19a34ce1fb16cc708c04f219.tar.xz
kernel-qcow2-linux-7f5c6d4f665bb57a19a34ce1fb16cc708c04f219.zip
netfilter: get rid of atomic ops in fast path
We currently use a percpu spinlock to 'protect' rule bytes/packets counters, after various attempts to use RCU instead. Lately we added a seqlock so that get_counters() can run without blocking BH or 'writers'. But we really only need the seqcount in it. Spinlock itself is only locked by the current/owner cpu, so we can remove it completely. This cleanups api, using correct 'writer' vs 'reader' semantic. At replace time, the get_counters() call makes sure all cpus are done using the old table. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Jan Engelhardt <jengelh@medozas.de> Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'block/compat_ioctl.c')
0 files changed, 0 insertions, 0 deletions