]> git.baikalelectronics.ru Git - kernel.git/commit
netfilter: xtables: stackptr should be percpu
authorEric Dumazet <eric.dumazet@gmail.com>
Mon, 31 May 2010 14:41:35 +0000 (16:41 +0200)
committerPatrick McHardy <kaber@trash.net>
Mon, 31 May 2010 14:41:35 +0000 (16:41 +0200)
commitd9a844807ec7f977df3c6d0b97e1469fd3d8c6af
treefe2450679dc217183421e606b3912641545596bd
parent549c346b28b25459d01b4e703b7777ce2a82c7ae
netfilter: xtables: stackptr should be percpu

commit 8babca49d5 (netfilter: xtables: make ip_tables reentrant)
introduced a performance regression, because stackptr array is shared by
all cpus, adding cache line ping pongs. (16 cpus share a 64 bytes cache
line)

Fix this using alloc_percpu()

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-By: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
include/linux/netfilter/x_tables.h
net/ipv4/netfilter/ip_tables.c
net/ipv6/netfilter/ip6_tables.c
net/netfilter/x_tables.c