Re: TSC to Mono-raw Drift

From: Miroslav Lichvar
Date: Fri Nov 02 2018 - 07:20:12 EST


On Thu, Nov 01, 2018 at 07:03:37PM +0100, Thomas Gleixner wrote:
> On Thu, 1 Nov 2018, John Stultz wrote:
> > On Thu, Nov 1, 2018 at 10:44 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> > > On Tue, 23 Oct 2018, John Stultz wrote:
> > >> However, to be correct, the ntp adjustments made would have to be made
> > >> to both the base interval + error, which mucks the math up a fair bit.
> > >
> > > Hmm, confused as usual. Why would you need to do anything like that?
> >
> > Because the NTP adjustment is done off of what is now the raw clock.
> > If the raw clock is "corrected" the ppb adjustment has to be done off
> > of that corrected rate.
>
> Sure, but why would that require any change? Right now the raw clock is
> slightly off and you correct clock monotonic against NTP. So with that
> extra correction you just see a slightly different raw clock slew and work
> from there.

It makes sense to me.

I think there are basically two different ways how it could be done.
One is to correct the frequency of the raw clock, on which sits the
mono/real clock. The other is to create a new raw clock which is
separate from the mono/real clock, and add an offset to the NTP
frequency to match the frequencies of the two clocks when not
synchronized by NTP/PTP. The latter would provide a more stable
mono/real clock.

clocksource -> MONOTONIC_RAW -> MONOTONIC/REALTIME

or

clocksource -> ? -> MONOTONIC_RAW
-> MONOTONIC/REALTIME

--
Miroslav Lichvar