On 11/23/2017 07:58 AM, Petr Mladek wrote:
On Wed 2017-11-15 19:15:38, Thomas Gleixner wrote:It is extremely important to know what happened and how long it took. I agree
For demonstration purposes only.I get the non-monotonic times even during boot:
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.
[ 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
^^^^^^^^
[ 0.032097] KVM setup async PF for cpu 1
[ 0.032766] kvm-stealtime: cpu 1, msr 13b00dc40
[ 0.036502] #2
[ 0.004000] kvm-clock: cpu 2, msr 1:3ff51081, secondary cpu clock
^^^^^^^^
[ 0.040062] KVM setup async PF for cpu 2
[ 0.040576] kvm-stealtime: cpu 2, msr 13b20dc40
[ 0.041304] #3
[ 0.004000] kvm-clock: cpu 3, msr 1:3ff510c1, secondary cpu clock
^^^^^^^^
[ 0.048051] KVM setup async PF for cpu 3
[ 0.048554] kvm-stealtime: cpu 3, msr 13b40dc40
To be honest, I do not feel experienced enough to decide which
solution is acceptable. I would say that only few people care
about timestamps during boot. On the other hand, some tools
with Petr, we should figure out a way to guarantee that the timestamp is monotonic.
P.