All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dan Magenheimer" <dan.magenheimer@oracle.com>
To: Keir Fraser <keir.fraser@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: RE: System time monotonicity
Date: Tue, 8 Apr 2008 11:39:36 -0600	[thread overview]
Message-ID: <20080408113936921.00000004064@djm-pc> (raw)
In-Reply-To: <C4215F00.160C6%keir.fraser@eu.citrix.com>

> > Where is the code that does this independent TSC sync'ing?  I see
> > code in smpboot.c that seems to do this at startup (though exactly
> > how I admit I haven't yet figured out... looks like some kind of
> > rendezvous loop triggered by the BP?).  But I don't see where/how
> > this gets called "every couple of seconds", nor do I see any writing
> > to the TSC (except setting BP and each AP to zero at startup).
> 
> arch/x86/time.c:local_time_calibration()

OK, thanks.

If I read the code correctly, Xen goes through this effort to
ensure that the TSC's are synchronized, but maintains this
synchronization in a data structure and doesn't actually
change each processor's physical TSC.  Correct? This is of
course just fine for the hypervisor's timer needs (and thus
indirectly for paravirtualized domains).

But I also observe that all of the hvm platform timer (pit,
hpet, and pmtimer) code is built on top of the physical TSC
plus the vmx/svm tsc_offset which doesn't seem to be affected
by the Xen TSC synchronization.  True?

So assuming the above isn't mistaken, hvm domain reads of the
platform timer on an SMP system lacking hardware-synchronized
TSC may suffer from non-monotonicity.  Correct?

Thanks,
Dan

  reply	other threads:[~2008-04-08 17:39 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-08 16:34 System time monotonicity Dan Magenheimer
2008-04-08 16:42 ` Keir Fraser
2008-04-08 17:39   ` Dan Magenheimer [this message]
2008-04-09  1:16     ` Tian, Kevin
2008-04-09  1:55       ` Dan Magenheimer
2008-04-09  3:20         ` Tian, Kevin
2008-04-09 12:42         ` Ian Pratt
2008-04-09 14:25           ` Dan Magenheimer
2008-04-09 14:41             ` Keir Fraser
2008-04-09 16:33               ` Dan Magenheimer
2008-04-09 16:40                 ` Keir Fraser
2008-04-09 18:36                   ` Dan Magenheimer
2008-04-10  7:08                     ` Keir Fraser
2008-04-10 21:27                       ` Dan Magenheimer
2008-04-11  6:48                         ` Keir Fraser
2008-04-11 22:05                           ` Dan Magenheimer
     [not found] <47FFC37A.4060402@virtualiron.com>
2008-04-11 21:20 ` Keir Fraser
2008-04-11 21:41   ` Keir Fraser
2008-04-11 22:58     ` Dave Winchell
2008-04-12  7:09       ` Keir Fraser
2008-04-21 19:26         ` Dan Magenheimer
2008-04-21 19:31           ` Keir Fraser
2008-04-11 22:22   ` Dan Magenheimer
  -- strict thread matches above, loose matches on Subject: below --
2007-04-03 17:51 Ian Pratt
2007-04-03 14:36 Ian Pratt
2007-04-03 14:57 ` John Levon
2007-03-26 18:23 John Levon
2007-03-26 18:47 ` Keir Fraser
2007-03-26 20:04   ` John Levon
2007-03-27 10:47     ` Keir Fraser
2007-04-03 14:03     ` John Levon
2007-03-26 18:50 ` Ian Pratt
2007-03-26 18:59   ` Keir Fraser
2007-03-26 20:14     ` John Levon
2007-03-26 21:55       ` Ian Pratt
2007-03-27  0:27       ` Keir Fraser

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=20080408113936921.00000004064@djm-pc \
    --to=dan.magenheimer@oracle.com \
    --cc=keir.fraser@eu.citrix.com \
    --cc=xen-devel@lists.xensource.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.