virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: "Jan Beulich" <jbeulich@novell.com>
To: Keir Fraser <keir@xensource.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Xen-devel <xen-devel@lists.xensource.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Andi Kleen <ak@suse.de>, lkml <linux-kernel@vger.kernel.org>,
	Chris Wright <chrisw@sous-sol.org>,
	virtualization@lists.osdl.org, Ingo Molnar <mingo@elte.hu>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [patch 14/33] xen: xen time implementation
Date: Wed, 06 Jun 2007 13:00:31 +0200	[thread overview]
Message-ID: <4666AFEF.76E4.0078.0@novell.com> (raw)
In-Reply-To: <C28C4362.1021C%keir@xensource.com>

>>> Keir Fraser <keir@xensource.com> 06.06.07 11:56 >>>
>On 6/6/07 10:30, "Jan Beulich" <jbeulich@novell.com> wrote:
>
>>> If you have an ACPI PM timer in your system (and if you have SMM then your
>>> system is almost certainly modern enough to have one) then surely the
>>> problem is fixed for all practical purposes? The problem was overflow of a
>>> fixed-width platform counter. The PIT wraps every ~50ms, but the ACPI PM
>>> timer will wrap only every ~4s. It would be quite unreasonable for SMM to
>>> take the CPU away for multiple seconds, even as a one-time boot operation.
>> 
>> No, I don't think the problem's gone with the PM timer - it is just much less
>> likely. Since you depend on the TSC (which must generally be assumed be
>> unsyncronized across CPUs) and on the error correction factor (which shows
>> non-zero values every few seconds), getting the interpolated times on two
>> CPUs out of sync is still possible, and given the way the time keeping code
>> works even being off by just a single nanosecond may be fatal.
>
>If the error across CPUS is +/- just a few microseconds at worst then having
>the clocksource clamp to no less than the last timestamp returned seems a
>reasonable fix. Time won't 'stop' for longer than the cross-CPU error, and
>that should always be a tiny value.

Are you sure this is also true when e.g. a CPU gets throttled due to thermal
conditions? It is my understanding that both the duty cycle adjustment and
the frequency reduction would yield a reduced rate TSC, which would be
accounted for only the next time the local clock gets calibrated. Otherwise,
immediate calibration (and vcpu update) would need to be forced out of the
thermal interrupt.

Jan

  parent reply	other threads:[~2007-06-06 11:00 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-22 14:09 [patch 00/33] xen: Xen paravirt_ops implementation Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 01/33] xen: paravirt: add an "mm" argument to alloc_pt Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 02/33] xen: paravirt: add a hook for once the allocator is ready Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 03/33] xen: paravirt: increase IRQ limit Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 04/33] xen: paravirt: unstatic leave_mm Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 05/33] xen: paravirt: unstatic smp_store_cpu_info Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 06/33] xen: paravirt: make siblingmap functions visible Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 07/33] xen: paravirt: export __supported_pte_mask Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 08/33] xen: Allocate and free vmalloc areas Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 09/33] xen: Add nosegneg capability to the vsyscall page notes Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 10/33] xen: Add Xen interface header files Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 11/33] xen: Core Xen implementation Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 12/33] xen: Xen virtual mmu Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 13/33] xen: xen event channels Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 14/33] xen: xen time implementation Jeremy Fitzhardinge
2007-06-06  8:39   ` Jan Beulich
2007-06-06  8:54     ` [Xen-devel] " Keir Fraser
2007-06-06  8:54     ` Keir Fraser
     [not found]     ` <C28C34EB.101FE%keir@xensource.com>
2007-06-06  9:30       ` Jan Beulich
2007-06-06  9:56         ` [Xen-devel] " Keir Fraser
2007-06-06  9:56         ` Keir Fraser
     [not found]         ` <C28C4362.1021C%keir@xensource.com>
2007-06-06 11:00           ` Jan Beulich [this message]
2007-06-06 11:52             ` Keir Fraser
2007-06-06 11:52             ` Keir Fraser
2007-06-06 10:05     ` Jeremy Fitzhardinge
2007-06-06 10:20       ` Jan Beulich
2007-06-06 10:26       ` Andi Kleen
2007-06-06 14:15         ` [Xen-devel] " Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 15/33] xen: xen configuration Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 16/33] xen: xen: add pinned page flag Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 17/33] xen: Complete pagetable pinning for Xen Jeremy Fitzhardinge
2007-05-22 14:09 ` [patch 18/33] xen: xen: ignore RW mapping of RO pages in pagetable_init Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 19/33] xen: Account for time stolen by Xen Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 20/33] xen: Implement xen_sched_clock Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 21/33] xen: Xen SMP guest support Jeremy Fitzhardinge
2007-06-06  7:34   ` Jan Beulich
2007-06-06  8:33     ` [Xen-devel] " Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 22/33] xen: Add support for preemption Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 23/33] xen: xen: lazy-mmu operations Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 24/33] xen: xen: hack to prevent bad segment register reload Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 25/33] xen: Use the hvc console infrastructure for Xen console Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 26/33] xen: Add Xen grant table support Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 27/33] xen: Add the Xenbus sysfs and virtual device hotplug driver Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 28/33] xen: Add Xen virtual block device driver Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 29/33] xen: Add the Xen virtual network " Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 30/33] xen: Xen machine operations Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 31/33] xen: xen: handle external requests for shutdown, reboot and sysrq Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 32/33] xen: Place vcpu_info structure into per-cpu memory, if possible Jeremy Fitzhardinge
2007-05-22 14:10 ` [patch 33/33] xen: Attempt to patch inline versions of common operations Jeremy Fitzhardinge
2007-05-22 14:57 ` [patch 00/33] xen: Xen paravirt_ops implementation Andi Kleen
2007-05-22 15:06   ` Jeremy Fitzhardinge
     [not found] <C28C5EAB.1024D%keir@xensource.com>
2007-06-06 12:18 ` [Xen-devel] [patch 14/33] xen: xen time implementation Andi Kleen
2007-06-06 12:46   ` Jan Beulich
2007-06-06 12:53     ` Andi Kleen

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=4666AFEF.76E4.0078.0@novell.com \
    --to=jbeulich@novell.com \
    --cc=ak@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=chrisw@sous-sol.org \
    --cc=jeremy@goop.org \
    --cc=keir@xensource.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=virtualization@lists.osdl.org \
    --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 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).