[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190222142836.GA14744@aepfle.de>
Date: Fri, 22 Feb 2019 15:28:36 +0100
From: Olaf Hering <olaf@...fle.de>
To: Paolo Bonzini <pbonzini@...hat.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
John Stultz <john.stultz@...aro.org>,
Stephen Boyd <sboyd@...nel.org>,
LKML <linux-kernel@...r.kernel.org>, x86@...nel.org
Subject: Re: recalibrating x86 TSC during suspend/resume
On Fri, Feb 22, Paolo Bonzini wrote:
> On 22/02/19 12:44, Thomas Gleixner wrote:
> >> The specific usecase I have is a workload within VMs that makes heavy
> >> use of TSC. The kernel is booted with 'clocksource=tsc highres=off nohz=off'
> >> because only this clocksource gives enough granularity. The default
> >> paravirtualized clock will return the same values via
> >> clock_gettime(CLOCK_MONOTONIC) if the timespan between two calls is too
> >> short. This does not happen with 'clocksource=tsc'.
>
> This shouldn't happen. clock_gettime(CLOCK_MONOTONIC) should be
> monotonic increasing. Do you have a testcase?
Two years ago I tweaked sysbench to track the execution time of the
'memory' test:
https://github.com/olafhering/sysbench
https://github.com/olafhering/sysbench/blame/pv/src/tests/memory/sb_memory.c
The checks in diff_timespec() triggered with clocksource=xen, but I can
not reproduce it right now with 5.0 and 4.4 based kernels. I have no
data how KVM behaves. In the end the hypervisor was tweaked to tolerate
a certain jitter in expected TSC speed before emulation kicks in. Up to
~1MHz would be ok to stay within the 500PPM limit that ntpd can handle.
But now there is that "island" issue that needs to be resolved in one
way or another.
Olaf
Download attachment "signature.asc" of type "application/pgp-signature" (196 bytes)
Powered by blists - more mailing lists