[fpc-pascal] EpikTimer v1.0.1 released

Marco van de Voort marcov at stack.nl
Wed May 28 17:41:08 CEST 2014


In our previous episode, Henry Vermaak said:
> On Wed, May 28, 2014 at 02:00:06PM +0200, Marco van de Voort wrote:
> > - Is rdtsc safe for CPUs that can vary clock of cores independently like
> >   Core Mono? What if the process changed  CPU to a different clocked core?
> 
> I've read that on recent CPUs, the TSC is unaffected by the actual clock
> rate of the CPU. 

Yes, on Nehalem and newer afaik the clock is on the uncore. But that is
still to new a requirement to assume for general purpose code like RTL and
FCL, if you agree to clip real old stuff.

Both the Core2 generations (Conroe and Wolfdale) are still too common.

> On linux, The TSC gets calibrated and the synchronisation is tested, which
> may result in the TSC clock source being marked as unstable and disabled. 
> In this case, it will fall back to using other clock sources (HPET is next
> in line on my computer).

I assume the same system underlies queryperformancecounter and family on
Windows. But that means you need to use OS timing functions, and not ASM.



More information about the fpc-pascal mailing list