Re: [PATCH] netfilter: use per-cpu spinlock rather than RCU (v3)

David Miller
2009-04-15T23:48:34Z

From: Eric Dumazet <dada1@cosmosbay.com>
Date: Wed, 15 Apr 2009 23:07:29 +0200

> Well, it seems original patch was not so bad after all
>
> http://lists.netfilter.org/pipermail/netfilter-devel/2006-January/023175.html
>
> So change per-cpu spinlocks to per-cpu rwlocks
>
> and use read_lock() in ipt_do_table() to allow recursion...

Grumble, one more barrier to getting rid of rwlocks in the whole
tree. :-/

I really think we should entertain the idea where we don't RCU quiesce
when adding rules. That was dismissed as not workable because the new
rule must be "visible" as soon as we return to userspace but let's get
real, effectively it will be.

If there are any stale object reference issues, we can use RCU object
destruction to handle that kind of thing.

I almost cringed when the per-spinlock idea was proposed, but per-cpu
rwlocks just takes things too far for my tastes.