From: Jeremy Fitzhardinge <jeremy@goop.org>
To: "Milan Holzäpfel" <listen@mjh.name>
Cc: "Milan Holzäpfel" <mail@mjh.name>,
xen-devel@lists.xensource.com,
"Keir Fraser" <keir.fraser@eu.citrix.com>
Subject: Re: pv_ops dom0 clock only runs under load
Date: Fri, 06 Mar 2009 13:56:42 -0800 [thread overview]
Message-ID: <49B19C1A.6030309@goop.org> (raw)
In-Reply-To: <20090306222752.d6abc82f.listen@mjh.name>
Milan Holzäpfel wrote:
> On Fri, 6 Mar 2009 21:46:49 +0100
> Milan Holzäpfel <listen@mjh.name> wrote:
>
>
>> On Thu, 05 Mar 2009 21:41:44 -0800
>> Jeremy Fitzhardinge <jeremy@goop.org> 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
next prev parent reply other threads:[~2009-03-06 21:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-06 0:34 pv_ops dom0 clock only runs under load Milan Holzäpfel
2009-03-06 5:41 ` Jeremy Fitzhardinge
2009-03-06 20:46 ` Milan Holzäpfel
2009-03-06 21:27 ` Milan Holzäpfel
2009-03-06 21:56 ` Jeremy Fitzhardinge [this message]
2009-03-06 22:49 ` Milan Holzäpfel
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=49B19C1A.6030309@goop.org \
--to=jeremy@goop.org \
--cc=keir.fraser@eu.citrix.com \
--cc=listen@mjh.name \
--cc=mail@mjh.name \
--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.