Keir, In my work on layering hpet on get_s_time, I found a problem in get_s_time and related code. Because of the problem I was getting large jumps in the offset between local time and ntp time. These jumps were on the order of many seconds. The issue is the race between local_time_calibration() executing on one processor and platform_time_calibration() on another. I have included a patch which addresses the race in local_time_calibration(), cpu_frequency_change(), and init_percpu_time(). I'm giving you this ahead of the hpet work as it affects all users of get_s_time(). I'm confident of the fix in local_time_calibration() as I had failures there before the fix and no failures after. The other two I'm less confident in, so check my work closely there. On the hpet over get_s_time() front, this fix allows me to get .0014% error. This is very close to the error going to the hardware hpet each time. Regards, Dave