fio: fix s390 nop
authorChristian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Tue, 8 Apr 2014 15:52:01 +0000 (17:52 +0200)
committerJens Axboe <axboe@fb.com>
Tue, 8 Apr 2014 16:11:25 +0000 (10:11 -0600)
When trying to run rate limited fio runs we encountered that the current
definition of a nop uses a privileged instruction which is not even a nop,
but a yield call to the hipervisor.
That leads to a SIGILL as it is privileged.

To solve that issue replace it with a nop, the assembler will take care
of it (likely to become a BCR 0,0)

Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
arch/arch-s390.h

index 2c205de3a8455f04b1b9a5729b63dce70547aa61..56cb23024bf70f8954cc7bfe29e5b439345f54d7 100644 (file)
@@ -18,7 +18,7 @@
 #define __NR_sys_vmsplice      309
 #endif
 
 #define __NR_sys_vmsplice      309
 #endif
 
-#define nop            asm volatile ("diag 0,0,68" : : : "memory")
+#define nop            asm volatile("nop" : : : "memory")
 #define read_barrier() asm volatile("bcr 15,0" : : : "memory")
 #define write_barrier()        asm volatile("bcr 15,0" : : : "memory")
 
 #define read_barrier() asm volatile("bcr 15,0" : : : "memory")
 #define write_barrier()        asm volatile("bcr 15,0" : : : "memory")