From 4ae803253e4649803dc6e972bb5e59fc107cf474 Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Tue, 17 Sep 2013 09:48:44 +0200 Subject: [PATCH] s390/bitops: optimize set_bit() for constant values Since zEC12 we have the interlocked-access facility 2 which allows to use the instructions ni/oi/xi to update a single byte in storage with compare-and-swap semantics. So change set_bit(), clear_bit() and change_bit() to generate such code instead of a compare-and-swap loop (or using the load-and-* instruction family), if possible. This reduces the text segment by yet another 8KB (defconfig). Alternatively the long displacement variants niy/oiy/xiy could have been used, but the extended displacement field is usually not needed and therefore would only increase the size of the text segment again. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky --- Reading git-format-patch failed