On Wed, May 28, 2014 at 04:31:53PM +0200, Michael Schnell wrote: > On 05/28/2014 04:26 PM, Henry Vermaak wrote: > > > >- The rdtsc instruction needs to be protected from out of order > > execution. Some people use cpuid, which is expensive. It looks like > > the linux kernel uses mfence or lfence/mfence depending on CPU type. > > > > ... meaning the current version of incorrect ?!?!?
Indeed. What's worse is that it _always_ uses the TSC on x86, without knowing whether it's actually a reliable clock source for the particular hardware configuration. I can only recommend to never use this component, just use an ifdef to call QueryPerformanceCounter/()clock_gettime() based on OS. > Things like this is why I'd rather use dVSO. Calling the vDSO will certainly make things faster. I don't know what the overhead of QueryPerformanceCounter() is. Henry _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal