Re: [RFC patch 7/7] timekeeping: Hack to use fine grained timestamps during boot

From: Petr Mladek
Date: Fri Dec 08 2017 - 06:23:23 EST


On Tue 2017-11-28 19:47:09, Thomas Gleixner wrote:
> On Tue, 28 Nov 2017, Prarit Bhargava wrote:
> > On 11/23/2017 07:58 AM, Petr Mladek wrote:
> > > On Wed 2017-11-15 19:15:38, Thomas Gleixner wrote:
> > >> For demonstration purposes only.
> > >>
> > >> Add a disgusting hack to work around the fact that high resolution clock
> > >> MONOTONIC accessors are not available during early boot and return stale
> > >> time stamps accross suspend/resume when the current clocksource is not
> > >> flagged with CLOCK_SOURCE_SUSPEND_ACCESS_OK.
> > >>
> > >> Use local_clock() to provide timestamps in early boot and when the
> > >> clocksource is not accessible after timekeeping_suspend(). In the
> > >> suspend/resume case this might cause non monotonic timestamps.
> > >
> > > I get the non-monotonic times even during boot:
> > >
> > > [ 0.026709] smp: Bringing up secondary CPUs ...
> > > [ 0.027973] x86: Booting SMP configuration:
> > > [ 0.028006] .... node #0, CPUs: #1
> > > [ 0.004000] kvm-clock: cpu 1, msr 1:3ff51041, secondary cpu clock
> > > ^^^^^^^^
>
> Which is interesting as this should happen even w/o those patches.

Good point. I really see this even without those patches.

I was confused because I saw the following with this patchset
but without this latest patch:

[ 0.016000] smp: Bringing up secondary CPUs ...
[ 0.016000] x86: Booting SMP configuration:
[ 0.020000] .... node #0, CPUs: #1
[ 0.020000] kvm-clock: cpu 1, msr 1:3ff52041, secondary cpu clock
[ 0.024000] KVM setup async PF for cpu 1
[ 0.024000] kvm-stealtime: cpu 1, msr 13fc8d940

It is monotonic. The only drawback is that the resolution of the
monotonic clock is low at this stage.

Best Regards,
Petr