xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
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

  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).