Peter Zijlstra <pet...@infradead.org> wrote: > Would using synchronize_rcu() not also mean you can get rid of that > xt_write_recseq*() stuff entirely?
No, because those are used to synchronize with cpus that read the ruleset counters, see net/ipv4/netfilter/ip_tables.c:get_counters(). > Anyway, synchronize_rcu() can also take a little while, but I don't > think anywere near 30 seconds. Ok, I think in that case it would be best to just replace the recseq value sampling with smp_mb + synchronize_rcu plus a comment that explains why its done.