4 comments

[ 3.4 ms ] story [ 20.5 ms ] thread
Your computer has way more than two hardware clocks.

Anyway, in Linux, clock_monotonic is nearly useless for distributed systems because NTP can arbitrarily screw up its speed.

Clock_monotonic_raw does what most distributed systems want, but for some reason it performed a kernel crossing last time I checked. (Clock_monotonic doesn’t do a kernel crossing.)

One possible solution is to use the TSC directly, but then apply an appropriate multiplier to get all the (heterogeneous) processors to run at the same speed.

I wish Linux’s clocks were better.