From: Oliver O'Halloran Date: Thu, 6 Jul 2017 08:47:10 +0000 (+1000) Subject: arch/ppc: Fix get_cpu_clock asm clobber list X-Git-Tag: fio-3.1~31^2 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=e8bf784a034fe73aeed99a3360e803af38728126;p=fio.git arch/ppc: Fix get_cpu_clock asm clobber list Mark condition register 0 (cr0) as being clobbered by the inline asm in get_cpu_clock(). Not doing this results in strange behaviour due to GCC optimising away some checking. For example e.g: $ ./fio examples/null.fio --output-format=json time 5500 cycles_start=8085227422910 <--- bad! { "fio version" : "fio-2.21-89-gb034", The extra output is due to the flag checking in dprint being removed at higher optimisation levels. Signed-off-by: Oliver O'Halloran --- diff --git a/arch/arch-ppc.h b/arch/arch-ppc.h index ba452b15..804d596a 100644 --- a/arch/arch-ppc.h +++ b/arch/arch-ppc.h @@ -62,7 +62,8 @@ static inline unsigned long long get_cpu_clock(void) " cmpwi %0,0;\n" " beq- 90b;\n" : "=r" (rval) - : "i" (SPRN_TBRL)); + : "i" (SPRN_TBRL) + : "cr0"); return rval; }