linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 00/28] cmpxchg_local standardization across architectures
@ 2007-10-30 19:15 Mathieu Desnoyers
  2007-10-30 19:15 ` [patch 01/28] Add cmpxchg_local to asm-generic for per cpu atomic operations Mathieu Desnoyers
  0 siblings, 1 reply; 2+ messages in thread
From: Mathieu Desnoyers @ 2007-10-30 19:15 UTC (permalink / raw)
  To: akpm, linux-kernel, matthew, linux-arch, penberg, linux-mm,
	Christoph Lameter

Hi,

Here is the patchset that performs cmpxchg_local and cmpxchg64_local
standardization across architectures. It uses interrupt save/restore to emulate
the atomic operation on architectures lacking such atomic op.

We have seen interesing performance gain in slub on architectures where the
local cmpxchg is faster than interrupt disable, namely x86 and amd64. It becomes
less interesting on architectures lacking atomic ops and where the only cmpxchg
primitive available is almost as fast as irq disable/enable (ia64); a small
performance hit can be expected, mostly due to the additionnal memory barriers
it adds to the code (and the fact that it is faster to disable interrupts once
for a longer time rather than multiple times).

It applies in this order on 2.6.23-mm1 :

add-cmpxchg-local-to-generic-for-up.patch
i386-cmpxchg64-80386-80486-fallback.patch
add-cmpxchg64-to-alpha.patch
add-cmpxchg64-to-mips.patch
add-cmpxchg64-to-powerpc.patch
add-cmpxchg64-to-x86_64.patch
#
add-cmpxchg-local-to-arm.patch
add-cmpxchg-local-to-avr32.patch
add-cmpxchg-local-to-blackfin.patch
add-cmpxchg-local-to-cris.patch
add-cmpxchg-local-to-frv.patch
add-cmpxchg-local-to-h8300.patch
add-cmpxchg-local-to-ia64.patch
add-cmpxchg-local-to-m32r.patch
fix-m32r-__xchg.patch
fix-m32r-include-sched-h-in-smpboot.patch
local_t_m32r_optimized.patch
add-cmpxchg-local-to-m68k.patch
add-cmpxchg-local-to-m68knommu.patch
add-cmpxchg-local-to-parisc.patch
add-cmpxchg-local-to-ppc.patch
add-cmpxchg-local-to-s390.patch
add-cmpxchg-local-to-sh.patch
add-cmpxchg-local-to-sh64.patch
add-cmpxchg-local-to-sparc.patch
add-cmpxchg-local-to-sparc64.patch
add-cmpxchg-local-to-v850.patch
add-cmpxchg-local-to-xtensa.patch

Mathieu

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-10-31 22:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20071031223710.099558229@polymtl.ca>
2007-10-31 22:37 ` [patch 01/28] Add cmpxchg_local to asm-generic for per cpu atomic operations Mathieu Desnoyers
2007-10-30 19:15 [patch 00/28] cmpxchg_local standardization across architectures Mathieu Desnoyers
2007-10-30 19:15 ` [patch 01/28] Add cmpxchg_local to asm-generic for per cpu atomic operations Mathieu Desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).