Messages in this thread | | | From | Andi Kleen <> | Subject | Re: [patch 3/4] net: Percpufy frequently used variables -- proto.sockets_allocated | Date | Sun, 29 Jan 2006 06:38:17 +0100 |
| |
[adding linux-arch]
On Sunday 29 January 2006 01:55, Andrew Morton wrote: > Benjamin LaHaise <bcrl@kvack.org> wrote: > > On Sat, Jan 28, 2006 at 01:28:20AM +0100, Eric Dumazet wrote: > > > We might use atomic_long_t only (and no spinlocks) > > > Something like this ? > > > > Erk, complex and slow... Try using local_t instead, which is > > substantially cheaper on the P4 as it doesn't use the lock prefix and act > > as a memory barrier. See asm/local.h. > > local_t isn't much use until we get rid of asm-generic/local.h. Bloaty, > racy with nested interrupts.
It is just implemented wrong. It should use local_irq_save()/local_irq_restore() instead. But my bigger problem with local_t is these few architectures (IA64, PPC64) who implement it with atomic_t. This means we can't replace local statistics counters with local_t because it would be regression for them. I haven't done the benchmarks yet, but I suspect both IA64 and PPC64 really should just turn off interrupts.
-Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |