History log of /arch/s390/include/asm/cmpxchg.h
Revision Date Author Comments
4c2241fd42298007d7c3a92318806a4a9490a93c 23-May-2011 Heiko Carstens <heiko.carstens@de.ibm.com> [S390] percpu: implement arch specific irqsafe_cpu_ops

Implement arch specific irqsafe_cpu ops. The arch specific ops do not
disable/enable interrupts since that is an expensive operation. Instead
we disable preemption and perform a compare and swap loop.
Since on server distros (the ones we care about) preemption is disabled
the preempt_disable()/preempt_enable() pair is a nop.
In the end this code should be faster than the generic one.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
54eaae3028e6b09de0bd2232a8176fc0d0a2397a 23-Mar-2011 Heiko Carstens <heiko.carstens@de.ibm.com> [S390] cmpxchg: implement cmpxchg64()

We have a cmpxchg64_local() implementation but strange enough the
SMP capable variant cmpxchg64() is missing. So implement it.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
a2c9dbe8dbb8591ae6fd142e562813cd95d06609 23-Mar-2011 Heiko Carstens <heiko.carstens@de.ibm.com> [S390] xchg/cmpxchg: move to own header file

Move xchg() and cmpxchg() functions to own header file like some
other architectures have done.
With this we make sure that system.h now really looks like a place
where everything is gathered that doesn't fit anywhere else.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>