From: Tim Deegan <tim@xen.org>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Cc: David Vrabel <david.vrabel@citrix.com>,
Jan Beulich <JBeulich@suse.com>,
Konrad Wilk <konrad.wilk@oracle.com>,
linux-kernel@vger.kernel.org, xen-devel <xen-devel@lists.xen.org>,
Sheng Yang <sheng@yasker.org>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [Xen-devel] [PATCH] xen: always set the sched clock as unstable
Date: Mon, 16 Apr 2012 18:08:27 +0100 [thread overview]
Message-ID: <20120416170827.GE13111@ocelot.phlegethon.org> (raw)
In-Reply-To: <049b7b93-fb37-4962-b272-d786e1dcfacb@default>
At 09:05 -0700 on 16 Apr (1334567132), Dan Magenheimer wrote:
> Hmmm... I spent a great deal of time on TSC support in the hypervisor
> 2-3 years ago. I worked primarily on PV, but Intel supposedly was tracking
> everything on HVM as well. There's most likely a bug or two still lurking
> but, for all guests, with the default tsc_mode, TSC is provided by Xen
> as an absolutely stable clock source. If Xen determines that the underlying
> hardware declares that TSC is stable, guest rdtsc instructions are not trapped.
> If it is not, Xen emulates all guest rdtsc instructions. After a migration or
> save/restore, TSC is always emulated. The result is (ignoring possible
> bugs) that TSC as provided by Xen is a) monotonic; b) synchronized across
> CPUs; and c) constant rate. Even across migration/save/restore.
AIUI, this thread is about the PV-time clock source, not about the TSC
itself. Even if the TSC is emulated (or in some other way made
"stable") the PV wallclock is not necessarily stable across migration.
But since migration is controlled by the kernel, presumably the kernel
can DTRT about it.
> In fact, it might be wise for a Xen-savvy kernel to check to see
> if it is running on Xen-4.0+ and, if so, force clocksource=tsc
> and tsc=reliable.
That seems like overdoing it. Certainly it's not OK unless it can also
check that Xen is providing a stable TSC (i.e. that tscmode==1).
In the case where the PV clock has been selected, can it not be marked
unstable without also marking the TSC unstable?
Tim.
next prev parent reply other threads:[~2012-04-16 17:08 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-13 18:20 David Vrabel
2012-04-13 18:33 ` Sheng Yang
[not found] ` <CA+2rt41ctpU-vhR7=u_r45=o8djpq0-5YE5jcj_4FR2bWYu5pQ@mail.gmail.com>
2012-04-13 18:39 ` David Vrabel
2012-04-16 11:32 ` Jan Beulich
2012-04-16 14:59 ` David Vrabel
2012-04-16 15:16 ` Tim Deegan
2012-04-16 15:17 ` Konrad Rzeszutek Wilk
2012-04-16 16:20 ` [Xen-devel] " Dan Magenheimer
2012-04-16 16:05 ` Dan Magenheimer
2012-04-16 16:14 ` Jan Beulich
2012-04-16 17:22 ` Dan Magenheimer
2012-04-17 7:27 ` Jan Beulich
2012-04-17 15:36 ` Dan Magenheimer
2012-04-16 16:26 ` David Vrabel
2012-04-16 17:30 ` Dan Magenheimer
2012-04-17 7:47 ` Jan Beulich
2012-04-17 15:42 ` Dan Magenheimer
2012-04-16 17:08 ` Tim Deegan [this message]
2012-04-16 17:52 ` Dan Magenheimer
2012-04-16 18:17 ` Tim Deegan
2012-04-16 23:01 ` Sheng Yang
2012-04-17 0:29 ` Dan Magenheimer
2012-04-17 8:19 ` Tim Deegan
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=20120416170827.GE13111@ocelot.phlegethon.org \
--to=tim@xen.org \
--cc=JBeulich@suse.com \
--cc=dan.magenheimer@oracle.com \
--cc=david.vrabel@citrix.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sheng@yasker.org \
--cc=tglx@linutronix.de \
--cc=xen-devel@lists.xen.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
all inboxes | Powered by JetHome®