From: Martin Schwidefsky Date: Thu, 15 May 2014 09:00:44 +0000 (+0200) Subject: s390/spinlock,rwlock: always to a load-and-test first X-Git-Tag: omap-for-v3.16/fixes-against-rc1~39^2~33^2~10 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bae8f567344a7cb6a23ca6e13096ba785c69eb42;p=pandora-kernel.git s390/spinlock,rwlock: always to a load-and-test first In case a lock is contended it is better to do a load-and-test first before trying to get the lock with compare-and-swap. This helps to avoid unnecessary cache invalidations of the cacheline for the lock if the CPU has to wait for the lock. For an uncontended lock doing the compare-and-swap directly is a bit better, if the CPU does not have the cacheline in its cache yet the compare-and-swap will get it read-write immediately while a load-and-test would get it read-only first. Always to the load-and-test first to avoid the cacheline invalidations for the contended case outweight the potential read-only to read-write cacheline upgrade for the uncontended case. Signed-off-by: Martin Schwidefsky --- Reading git-diff-tree failed