s390/percpu: make use of interlocked-access facility 1 instructions
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 21 Oct 2013 05:57:41 +0000 (07:57 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 24 Oct 2013 15:17:13 +0000 (17:17 +0200)
commitf84cd97e5c61fe3ce66af838dd955dee02076639
treea3477ba33ab836d729b395741f80618ccfdab166
parent0702fbf572ac5e513873628bf534da4a8a2025b4
s390/percpu: make use of interlocked-access facility 1 instructions

Optimize this_cpu_* functions for 64 bit by making use of new instructions
that came with the interlocked-access facility 1 (load-and-*) and the
general-instructions-extension facility (asi, agsi).
That way we get rid of the compare-and-swap loop in most cases.
Code size reduction (defconfig, -march=z196): 11,555 bytes.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/percpu.h