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 [email protected]
