From: Keir Fraser <keir.fraser@eu.citrix.com>
To: "Jiang, Yunhong" <yunhong.jiang@intel.com>,
Dan Magenheimer <dan.magenheimer@oracle.com>,
"Xen-Devel (xen-devel@lists.xensource.com)"
<xen-devel@lists.xensource.com>, Ian Pratt <Ian.Pr>
Subject: Re: [RFC] Physical hot-add cpus and TSC
Date: Fri, 28 May 2010 06:47:32 +0100 [thread overview]
Message-ID: <C8251784.161BE%keir.fraser@eu.citrix.com> (raw)
In-Reply-To: <789F9655DD1B8F43B48D77C5D30659731E78D89D@shsmsx501.ccr.corp.intel.com>
On 28/05/2010 06:39, "Jiang, Yunhong" <yunhong.jiang@intel.com> wrote:
>> Hmmm... I'd be very surprised if this works ever, let alone
>> always across all hardware. By "work", I mean that it will
>> result in an "undetectably small difference" (less than a
>> cache bounce), as defined and measured by the tsc warp test.
>> Why? Because rdtsc is a long instruction (30-100 cycles)
>> and I'll bet writing to the TSC is even longer. Plus,
>> there's a cache bounce overhead added in due to the
>> synchronization via the in-memory tsc_count variable.
>
> I think that depends how we define " undetectably". If the time that guest
> migration among physical CPU is much higher than this difference, do we really
> need care about it (of course SMI/NMI is another story)?
> Or I missed anything?
"Undetectable" by Dan's definition means undetectable by a multi-threaded
app on a multi-vcpu guest. Any detected warp would therefore be a problem.
It is impossible to meet that level of TSC consistency when doing CPU
physical-add, without emulating all guest TSCs. We may need to add that as
an option, at least, to keep a small class of apps that care (like Oracle's
DB, we assume) happy.
-- Keir
next prev parent reply other threads:[~2010-05-28 5:47 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-26 15:19 [RFC] Physical hot-add cpus and TSC Dan Magenheimer
2010-05-26 15:45 ` Keir Fraser
2010-05-26 16:44 ` Dan Magenheimer
2010-05-26 17:02 ` Ian Pratt
2010-05-26 17:29 ` Keir Fraser
2010-05-26 17:39 ` Dan Magenheimer
2010-05-26 17:51 ` Keir Fraser
2010-05-26 18:01 ` Keir Fraser
2010-05-26 19:46 ` Dan Magenheimer
2010-05-26 21:26 ` Keir Fraser
2010-05-27 6:15 ` Jiang, Yunhong
2010-05-27 6:57 ` Keir Fraser
2010-05-27 7:09 ` Jiang, Yunhong
2010-05-27 7:15 ` Jiang, Yunhong
2010-05-27 19:55 ` Dan Magenheimer
2010-05-27 8:44 ` Keir Fraser
2010-05-27 9:31 ` Jiang, Yunhong
2010-05-27 15:08 ` Dan Magenheimer
2010-05-28 5:39 ` Jiang, Yunhong
2010-05-28 5:47 ` Keir Fraser [this message]
2010-05-28 6:29 ` Jiang, Yunhong
2010-05-28 7:03 ` Keir Fraser
2010-05-28 14:35 ` Dan Magenheimer
2010-05-28 15:33 ` Jiang, Yunhong
2010-05-28 16:25 ` Dan Magenheimer
2010-05-31 8:56 ` Jiang, Yunhong
2010-05-28 16:08 ` Keir Fraser
2010-05-28 16:36 ` Dan Magenheimer
2010-05-28 17:19 ` Keir Fraser
2010-05-28 14:52 ` Dan Magenheimer
2010-05-28 15:05 ` Jiang, Yunhong
2010-05-28 20:24 ` Dan Magenheimer
2010-05-31 7:54 ` Jiang, Yunhong
2010-06-01 0:30 ` Dan Magenheimer
2010-06-01 1:40 ` Jiang, Yunhong
2010-06-01 17:07 ` Jeremy Fitzhardinge
2010-06-02 9:17 ` Jiang, Yunhong
2010-06-10 6:55 ` Dong, Eddie
2010-06-10 13:15 ` Dan Magenheimer
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=C8251784.161BE%keir.fraser@eu.citrix.com \
--to=keir.fraser@eu.citrix.com \
--cc=dan.magenheimer@oracle.com \
--cc=xen-devel@lists.xensource.com \
--cc=yunhong.jiang@intel.com \
/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;
as well as URLs for NNTP newsgroup(s).