Re: Setting monotonic time?
From: Thomas Gleixner
Date: Mon Oct 01 2018 - 14:53:18 EST
On Mon, 1 Oct 2018, Eric W. Biederman wrote:
> In the context of process migration there is a simpler subproblem that I
> think it is worth exploring if we can do something about.
>
> For a cluster of machines all running with synchronized
> clocks. CLOCK_REALTIME matches. CLOCK_MONOTNIC does not match between
> machines. Not having a matching CLOCK_MONOTONIC prevents successful
> process migration between nodes in that cluster.
>
> Would it be possible to allow setting CLOCK_MONOTONIC at the very
> beginning of time? So that all of the nodes in a cluster can be in
> sync?
>
> No change in skew just in offset for CLOCK_MONOTONIC.
>
> There are also dragons involved in coordinating things so that
> CLOCK_MONOTONIC gets set before CLOCK_MONOTONIC gets used. So I don't
> know if allowing CLOCK_MONOTONIC to be set would be practical but it
> seems work exploring all on it's own.
It's used very early on in the kernel, so that would be a major surprise
for many things including user space which has expectations on clock
monotonic.
It would be reasonably easy to add CLOCK_MONONOTIC_SYNC which can be set in
the way you described and then in name spaces make it possible to magically
map CLOCK_MONOTONIC to CLOCK_MONOTONIC_SYNC.
It still wouldn't allow to have different NTP/PTP time domains, but might
be a good start to address the main migration headaches.
Thanks,
tglx