On 11/29/2013 04:39 PM, Thomas Monjalon wrote: > 29/11/2013 13:25, Thomas Monjalon : > > Please check that your hardware do not support invariant TSC. > It would explain why you need to fix frequency. > > I attach a simple code to test CPU feature "Invariant TSC".
I compiled and ran the code on all the platforms I had troubles on. Invariant TSC is supported everywhere. > It seems that the file is stripped on the mailing-list. > Code inlined: > > #include <stdlib.h> > #include <stdio.h> > #include <unistd.h> > #include <stdint.h> > > > int main() > { > uint32_t a = 0x80000000; > uint32_t b, d; > > __asm__("cpuid;" > :"=a"(b) > :"0"(a)); > > if (b >= 0x80000007) { > > a = 0x80000007; > __asm__("cpuid;" > :"=a"(b), "=d"(d) > :"0"(a)); > > if (d & (1<<8)) { > printf("Invariant TSC is supported\n"); > } else{ > printf("Invariant TSC is NOT supported\n"); > } > } else { > printf("No support for Advanced Power Management Information in > CPUID\n"); > } > return 0; > } >