WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] pv_ops dom0 clock only runs under load

To: Milan Holzäpfel <listen@xxxxxxxx>
Subject: Re: [Xen-devel] pv_ops dom0 clock only runs under load
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Fri, 06 Mar 2009 13:56:42 -0800
Cc: Milan Holzäpfel <mail@xxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Delivery-date: Fri, 06 Mar 2009 13:57:16 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20090306222752.d6abc82f.listen@xxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20090306013451.9c7e1f98.listen@xxxxxxxx> <49B0B798.6090304@xxxxxxxx> <20090306214649.6e148f55.listen@xxxxxxxx> <20090306222752.d6abc82f.listen@xxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.19 (X11/20090105)
Milan Holzäpfel wrote:
On Fri, 6 Mar 2009 21:46:49 +0100
Milan Holzäpfel <listen@xxxxxxxx> wrote:

On Thu, 05 Mar 2009 21:41:44 -0800
Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

Milan Holzäpfel wrote:

The clock only seems to run if the system is under load (e.g. run
"while true; do echo -n; done" in a shell). With the CPU loaded and the clock running everything seems to work
quite well (hard disk and network access, that is.)

Changing the "xen" clocksource to "tsc" via sysfs didn't make a
difference.  Enabling or disabling the "tickless" option doesn't make a
difference either.
That's pretty mysterious; it does suggest your cpu's tsc is not ticking.
Excerpt from the dmesg (2.6.29 pvops with / without Xen)

[    4.870697] Marking TSC unstable due to TSC halts in idle

Saw it scrolling by.

[...]

By the way, I booted the 2.6.29 pvops enabled kernel without Xen and
the tsc timesource only increments when the CPU was loaded, too.  On
2.6.18 (without Xen) it worked normally (also with the BIOS options
enabled).

[...]

I will try whether disabling kernel stuff (there is something called
"cpuidle" compiled in) makes the tsc clocksource work again.

Booting with idle=poll appended to the kernel command line makes the
TSC work again.
The "xen" clocksource of the 2.6.29 pvops kernel (under Xen 3.3.1)
works again.  2.6.29 pvops on "bare metal" chooses TSC as default time
source, which works too.
Doesn't seem like a real solution, does it? The CPU doesn't seem to run
at full load all the time though (temperature stays quite low).

No, its not a great solution. But a tsc which only runs while the cpu is non-idle isn't a huge problem; it just needs Xen to update the timing parameters each time it idles the CPU. But its a bit of a mystery that 2.6.18.8 works OK...

Another question: The xm dmesg I posted reports "(XEN) Platform timer
is 14.318MHz HPET".  Why is the TSC used for time keeping then? The
HPET works perfectly on every kernel not running under Xen.

Xen uses the hpet to maintain a notion of system-wide time. However its fairly expensive to read the hpet, so each CPU uses its own local time which is tracked using the tsc and synchronized with the hpet.

   J

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel