s390/barrier: make use of fast-bcr facility
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 14 May 2012 10:41:54 +0000 (12:41 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 16 May 2012 12:42:45 +0000 (14:42 +0200)
If the kernel gets compiled for at least z196, make use of
the fast-BCR facility.

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

index 6993b20d64fb6c1e263c532a39868c91ee0753a5..10a508802940201e9919da07138033f1edcb6f78 100644 (file)
 
 static inline void mb(void)
 {
+#ifdef CONFIG_HAVE_MARCH_Z196_FEATURES
+       /* Fast-BCR without checkpoint synchronization */
+       asm volatile("bcr 14,0" : : : "memory");
+#else
        asm volatile("bcr 15,0" : : : "memory");
+#endif
 }
 
 #define rmb()                          mb()