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

From: David Miller
Date: Wed Apr 15 2009 - 19:48:35 EST


From: Eric Dumazet <dada1@xxxxxxxxxxxxx>
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/