The patches to change to using RCU synchronization in x_tables cause updating tables to be slowed down by an order of magnitude. This has been tried before, see https://lore.kernel.org/patchwork/patch/151796/ and ultimately was rejected. As mentioned in the patch description, a different method can be used to ensure ordering of reads/writes. This can simply be done by changing from smp_wmb() to smp_mb().
Mark Tomlinson (3): Revert "netfilter: x_tables: Update remaining dereference to RCU" Revert "netfilter: x_tables: Switch synchronization to RCU" netfilter: x_tables: Use correct memory barriers. include/linux/netfilter/x_tables.h | 7 ++--- net/ipv4/netfilter/arp_tables.c | 16 +++++----- net/ipv4/netfilter/ip_tables.c | 16 +++++----- net/ipv6/netfilter/ip6_tables.c | 16 +++++----- net/netfilter/x_tables.c | 49 +++++++++++++++++++++--------- 5 files changed, 60 insertions(+), 44 deletions(-) -- 2.30.1