]> git.baikalelectronics.ru Git - kernel.git/commit
netfilter: {ip,ip6,arp}_tables: dont block bottom half more than necessary
authorEric Dumazet <eric.dumazet@gmail.com>
Mon, 2 Aug 2010 14:49:01 +0000 (16:49 +0200)
committerPatrick McHardy <kaber@trash.net>
Mon, 2 Aug 2010 14:49:01 +0000 (16:49 +0200)
commitf2954ce97257ee1c6a3ba4a6e459765fcabc3726
treed9518ed0ef2012fd14567d03b500295dfb7fe7e0
parent86a88dfea3c0dd320c3eac94b0e94a1692c74f8e
netfilter: {ip,ip6,arp}_tables: dont block bottom half more than necessary

We currently disable BH for the whole duration of get_counters()

On machines with a lot of cpus and large tables, this might be too long.

We can disable preemption during the whole function, and disable BH only
while fetching counters for the current cpu.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
net/ipv4/netfilter/arp_tables.c
net/ipv4/netfilter/ip_tables.c
net/ipv6/netfilter/ip6_tables.c