s390/bitops: make use of interlocked-access facility 1 instructions
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 10 Sep 2013 13:35:39 +0000 (15:35 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 24 Oct 2013 15:16:44 +0000 (17:16 +0200)
commite344e52c7c6d6ab277daa83211972f801af2f9af
treec54a58bdbf4bd586668e288dda2163ebf899a83c
parente6036c0b88962df82a8853971b86a55f09faef40
s390/bitops: make use of interlocked-access facility 1 instructions

Make use of the interlocked-access facility 1 that got added with the
z196 architecure.
This facilility added new instructions which can atomically update a
storage location without a compare-and-swap loop. E.g. setting a bit
within a "long" can be done with a single instruction.

The size of the kernel image gets ~30kb smaller. Considering that there
are appr. 1900 bitops call sites this means that each one saves about
15-16 bytes per call site which is expected.

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