From: Alok Kataria <akataria@vmware.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
LKML <linux-kernel@vger.kernel.org>,
the arch/x86 maintainers <x86@kernel.org>,
Daniel Hecht <dhecht@vmware.com>
Subject: Re: [PATCH 0/3] Improve TSC as a clocksource under VMware
Date: Tue, 21 Oct 2008 11:04:54 -0700 [thread overview]
Message-ID: <1224612294.6161.43.camel@alok-dev1> (raw)
In-Reply-To: <20081021174008.GH12825@one.firstfloor.org>
On Tue, 2008-10-21 at 10:40 -0700, Andi Kleen wrote:
> > > It would be far nicer if VMware just emulated the "constant_tsc" bit
> > > in the AMD CPUID leaf, instead of adding all that gunk to Linux.
> > > Right now it's only checked for AMD CPUs, but that could be changed.
> >
> > I am not sure if we might want to skip the tsc_sync code for all the
> > cpus which have this constant_tsc bit set, can we ?
>
> It should be ok, although normally sanity checks should be kept.
>
> > Since i have seen that we can have cases where tsc is marked unstable as
> > its not found to be perfectly stable between cpus, we have to make sure
> > that we avoid this check when on VMware. Even with slight difference in
>
> Normally tsc sync should only fail when the error is large.
> It cannot detect very small derivation by design. It's more like
> a sanity check "does the TSC sync look half way sane"
FWIU from the code, even if cpu A's TSC is just 1 tick behind that of
cpu B, we increment the nr_wraps value.
And the code expects that there are no wraps in TSC throughout the
20msec measurement window.
So IMO its fairly easy to fail this test.
>
> If it fails on VMware perhaps the margins are not big enough or
> something else is fishy.
>
> But still it could be skipped with constant_tsc. But again you
> shouldn't really fail that check -- if you do fail are you
> sure your clock is really synchronized enough that there
> are no observable differences?
>
> > TSC between cpus, we know that TSC is the best available clocksource as
> > the hypervisor (VMware) makes sure that the drift is always marginal (if
> > ever there is).
>
> The drift has to be unobservable, otherwise you still risk
> non monotonity. Also when there is drift it has to be short
> term only, otherwise it would accumulate over longer times.
Usually the problem is more pronounced during the boot process, the
TSC's between processors are not perfectly in sync at bootup but the
drift is not observable later, and from timekeeping perspective we are
perfectly fine.
Thanks,
Alok
>
> -Andi
>
> --
> ak@linux.intel.com
next prev parent reply other threads:[~2008-10-21 18:05 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-21 1:35 [PATCH 0/3] Improve TSC as a clocksource under VMware Alok Kataria
2008-10-21 5:55 ` Chris Snook
2008-10-21 19:11 ` Alok Kataria
2008-10-22 19:26 ` Alok Kataria
2008-10-22 19:29 ` Jeff Hansen
2008-10-21 9:43 ` Andi Kleen
2008-10-21 16:41 ` Alok Kataria
2008-10-21 17:40 ` Andi Kleen
2008-10-21 18:04 ` Alok Kataria [this message]
2008-10-21 18:15 ` Andi Kleen
2008-10-21 19:10 ` Alok Kataria
2008-10-21 19:27 ` Andi Kleen
2008-10-21 19:47 ` Alok Kataria
2008-10-21 21:41 ` Alok Kataria
2008-10-22 19:23 ` [PATCH] Skip tsc synchronization checks if CONSTANT_TSC bit is set Alok Kataria
2008-10-22 19:26 ` Ingo Molnar
2008-10-22 19:30 ` Alok Kataria
2008-10-22 20:17 ` Andi Kleen
2008-10-22 22:04 ` Alok Kataria
2008-10-22 19:58 ` Andi Kleen
2008-10-22 22:00 ` Alok Kataria
2008-10-22 22:13 ` Andi Kleen
2008-10-22 22:11 ` Alok Kataria
2008-10-22 22:54 ` Andi Kleen
2008-10-23 2:21 ` Alok Kataria
2008-10-23 8:10 ` Andi Kleen
2008-10-23 23:39 ` Alok Kataria
2008-10-23 23:47 ` H. Peter Anvin
2008-10-24 0:25 ` Andi Kleen
2008-10-24 0:46 ` H. Peter Anvin
2008-10-24 7:23 ` Andi Kleen
2008-10-24 15:30 ` H. Peter Anvin
2008-10-24 19:25 ` Andi Kleen
2008-10-24 19:19 ` H. Peter Anvin
2008-10-24 19:34 ` Andi Kleen
2008-10-24 19:50 ` Alok Kataria
2008-10-24 20:18 ` Dan Hecht
2008-10-24 1:12 ` Alok Kataria
2008-10-24 1:18 ` H. Peter Anvin
2008-10-22 22:15 ` Alan Cox
2008-10-22 22:17 ` Alok Kataria
2008-10-21 9:50 ` [PATCH 0/3] Improve TSC as a clocksource under VMware Pavel Machek
2008-10-21 16:48 ` Alok Kataria
2008-10-21 18:36 ` Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1224612294.6161.43.camel@alok-dev1 \
--to=akataria@vmware.com \
--cc=andi@firstfloor.org \
--cc=dhecht@vmware.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox