[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1239988979.23397.4841.camel@laptop>
Date: Fri, 17 Apr 2009 19:22:59 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: David Miller <davem@...emloft.net>
Cc: paulmck@...ux.vnet.ibm.com, dada1@...mosbay.com,
shemminger@...tta.com, kaber@...sh.net,
torvalds@...ux-foundation.org, jeff.chua.linux@...il.com,
paulus@...ba.org, mingo@...e.hu, laijs@...fujitsu.com,
jengelh@...ozas.de, r000n@...0n.net, linux-kernel@...r.kernel.org,
netfilter-devel@...r.kernel.org, netdev@...r.kernel.org,
benh@...nel.crashing.org, mathieu.desnoyers@...ymtl.ca
Subject: Re: [PATCH] netfilter: use per-cpu spinlock rather than RCU (v3)
On Fri, 2009-04-17 at 01:07 -0700, David Miller wrote:
> From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
> Date: Thu, 16 Apr 2009 22:40:32 -0700
>
> > I completely agree that this RCU is absolutely -not- 2.6.30 material. ;-)
>
> I don't understand why we're writing such complicated code.
>
> Oh I see why, it's because not every arch uses the generic SMP helpers
> yet :-)
>
> Because if they did universally, we could solve this problem so
> simply, by merely sending a remote softirq to every online cpu. Once
> those all complete we have enough of a quiesce period, every cpu must
> have exited any netfilter packet processing code path they were in.
>
> And we could know they complete using an atomic counter or something.
Since its a full broadcast, we can do that _today_ using on_each_cpu().
But whatever way we turn this, this will be a very expensive operation.
Imagine doing that on your 256-way for every iptables rules change.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists