Revert "netfilter: x_tables: Switch synchronization to RCU"
authorMark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
Mon, 8 Mar 2021 01:24:12 +0000 (14:24 +1300)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 15 Mar 2021 17:42:01 +0000 (18:42 +0100)
commitd3d40f237480abf3268956daf18cdc56edd32834
tree0225e618a9c6241060f59f67be101d8a0ab711e5
parentabe7034b9a8d57737e80cc16d60ed3666990bdbf
Revert "netfilter: x_tables: Switch synchronization to RCU"

This reverts commit cc00bcaa589914096edef7fb87ca5cee4a166b5c.

This (and the preceding) patch basically re-implemented the RCU
mechanisms of patch 784544739a25. That patch was replaced because of the
performance problems that it created when replacing tables. Now, we have
the same issue: the call to synchronize_rcu() makes replacing tables
slower by as much as an order of magnitude.

Prior to using RCU a script calling "iptables" approx. 200 times was
taking 1.16s. With RCU this increased to 11.59s.

Revert these patches and fix the issue in a different way.

Signed-off-by: Mark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/linux/netfilter/x_tables.h
net/ipv4/netfilter/arp_tables.c
net/ipv4/netfilter/ip_tables.c
net/ipv6/netfilter/ip6_tables.c
net/netfilter/x_tables.c