Re: Detecting shift of CLOCK_REALTIME with clock_nanosleep (again)

John Stultz
2012-11-15T21:24:45Z

On 11/15/2012 11:28 AM, Scot Salmon wrote:
> Thomas Gleixner <tglx@linutronix.de> wrote on 10/31/2012 03:08:45 PM:
>> What you are concerned about is keeping the machines in sync on a
>> common global timeline. Though your more fundamental requirement is
>> that you get the wakeup on each machine in the given cycle time. The
>> global synchronization mechanism just adjusts that local periodic
>> schedule.
> [...]
>> What you really want is an atomic readout facility for CLOCK_MONOTONIC
>> and CLOCK_REALTIME. That allows you to align the CLOCK_MONOTONIC based
>> timer with the global CLOCK_REALTIME based time line and in the event
>> that the CLOCK_REALTIME clock was set and jumped forward/backward you
>> have full software control over the aligning mechanism including the
>> ability to do sanity checking.
> This works for me. We discussed it on IRC and agreed on "something
> like clock_gettime2(id, id, *t1, *t2) with a sanity check on the ids,
> that allows us other combinations than MONO/REAL as well".
Yea, there's been a few times that folks have brought up the need, and
this sort of interface is probably the best way to go.

I suspect clock_gettime3 isn't far behind though :)

thanks
-john