Achim Gratz Stromeko at nexgo.de
Mon Apr 15 19:41:28 UTC 2019

Hal Murray via devel writes:
>> HPET is a travel out to ACPI system registers mapped into memory, this should
>> never be never cached.
> Yes.  But there is still the cache for code and data.

The thing is that even when you consider all these things it is highly
unlikely to get the same value twice from the HPET timer unless it
either stops at times or you somehow manage to race two of these
clock_gettime calls on different cores, which sounds equally unlikely
for a single-threaded program.  A task switching cores in under 70ns
would be quite some feat.

In fact the test program produced a minimum 419 ns of difference between
two calls, yet ntpd manages to get two identical timestamps (for the
system time) with some regularity on Udo's box.  The other indication is
the problems he has with the TSC (which is why he switched to HPET in
the first place).  Whichever way I look at this, I cannot see how you
can produce that without something strange going on with the timer(s).

+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptation for Waldorf microQ V2.22R2:

More information about the devel mailing list