Messages in this thread | | | Date | Mon, 13 Apr 2009 21:06:10 +0200 (CEST) | From | Martin Josefsson <> | Subject | Re: [PATCH] netfilter: use per-cpu spinlock rather than RCU |
| |
On Mon, 13 Apr 2009, Stephen Hemminger wrote:
> This is an alternative version of ip/ip6/arp tables locking using > per-cpu locks. This avoids the overhead of synchronize_net() during > update but still removes the expensive rwlock in earlier versions. > > The idea for this came from an earlier version done by Eric Duzamet. > Locking is done per-cpu, the fast path locks on the current cpu > and updates counters. The slow case involves acquiring the locks on > all cpu's.
Doesn't spin_lock() result in a pipeline flush on x86?
iirc there was a benchmark in an RCU paper that tested using per cpu spin_locks and the result was that it didn't scale well at all.
/Martin
| |