From: Heiko Carstens Date: Tue, 17 Sep 2013 07:48:44 +0000 (+0200) Subject: s390/bitops: optimize set_bit() for constant values X-Git-Tag: omap-for-v3.13/fixes-for-merge-window-take2~58^2~47 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ae803253e4649803dc6e972bb5e59fc107cf474;p=pandora-kernel.git 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-diff-tree failed