Scott Cheloha:

> Can we add the missing LFENCE instructions to userspace and the
> kernel?  And can we excise the upper 32 bits?

> +     uint32_t lo;
> +
> +     asm volatile("lfence");
> +     asm volatile("rdtsc" : "=a"(lo));

That's wrong.  rtdsc will clobber %rdx, whether you use that value
or not.  You need a corresponding constraint:

  asm volatile("rdtsc" : "=a"(lo) : : "rdx");

-- 
Christian "naddy" Weisgerber                          na...@mips.inka.de

Reply via email to