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", <snip> The extra output is due to the flag checking in dprint being removed at higher optimisation levels. Signed-off-by: Oliver O'Halloran <oohall@xxxxxxxxx> --- arch/arch-ppc.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arch-ppc.h b/arch/arch-ppc.h index ba452b15b1ff..804d596aecc6 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; } -- 2.9.4 -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html