From: Anthony Liguori <anthony-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
To: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: kvm-devel
<kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
Jeremy Fitzhardinge <jeremy-TSDbQ3PG+2Y@public.gmane.org>,
Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Subject: Re: [RFC] Paravirt timer for KVM
Date: Fri, 12 Oct 2007 17:07:50 -0500 [thread overview]
Message-ID: <470FF036.6080803@codemonkey.ws> (raw)
In-Reply-To: <1192226137.14891.111.camel@basalt>
Hollis Blanchard wrote:
> On Fri, 2007-10-12 at 15:02 -0500, Anthony Liguori wrote:
>
>> Hollis Blanchard wrote:
>>
>>> On Fri, 2007-10-12 at 13:08 -0300, Glauber de Oliveira Costa wrote:
>>>
>>>
>>>> +config KVM_CLOCK
>>>> + bool "KVM paravirtualized clock"
>>>> + depends on PARAVIRT && GENERIC_CLOCKEVENTS
>>>> + help
>>>> + Turning on this option will allow you to run a paravirtualized clock
>>>> + when running over the KVM hypervisor. Instead of relying on a PIT
>>>> + (or probably other) emulation by the underlying device model, the host
>>>> + provides the guest with timing infrastructure, as time of day, and
>>>> + timer expiration.
>>>>
>>>>
>>> I must have missed earlier discussion on this topic, so I'm left
>>> wondering... what's the point? What's wrong with PIT (et al) emulation?
>>>
>>>
>> There are three separate reasons, that I know of, to have a PV timer.
>>
>> 1) the PIT is periodic. a PV timer can offer a one shot timer which
>> enables dynticks.
>>
>
> Obviously people have figured out how to do dynticks on real x86
> hardware, so I don't accept this reason. :)
>
Using more advanced timers like the HPET.
>> 2) the TSC would have to be used as a clocksource. You don't know the
>> frequency which is the first problem with using the TSC but some systems
>> have a TSC that changes frequencies. A PV time source gives you more
>> stable clocksource (although as in glommer's patch, when the TSC can be
>> used, it's better to use it).
>>
>
> As I understand it, the TSC is based on CPU frequency, which changes
> with power management. Architectural bug.
>
> However, PV time still doesn't help here:
> * The TSC is _user_ accessible, so PV time support in the guest
> kernel doesn't solve the problem.
> * It looks like external agents can perform out-of-kernel
> frequency scaling on x86 (at least I see options for it on IBM
> blades). So there must already exist some mechanism for a kernel
> to be informed that the TSC frequency has been changed.
>
I don't know if that is scaled transparently to the host OS or just at
boot time. Keep in mind too, modern Intel processors have fixed
frequency TSCs so it's possible that that's only an option for those
processors.
Regards,
Anthony Liguori
>> 3) a PV clock can support stolen time calculation which there really
>> isn't a concept of with emulation.
>>
>
> This is true, and I know other platforms support this functionality. I
> think it's mostly useful for process time accounting. Is that actually
> supported in this patch?
>
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
next prev parent reply other threads:[~2007-10-12 22:07 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-12 16:08 [RFC] Paravirt timer for KVM Glauber de Oliveira Costa
[not found] ` <5d6222a80710120908s6b1f5845head84e7b7a463cd1-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-10-12 18:10 ` Anthony Liguori
[not found] ` <470FB8AB.9030101-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-10-15 16:58 ` Glauber de Oliveira Costa
[not found] ` <5d6222a80710150958y31338c2ag3a391390b13788da-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-10-15 17:07 ` Avi Kivity
[not found] ` <47139E6F.7030704-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-15 18:09 ` Glauber de Oliveira Costa
[not found] ` <5d6222a80710151109m5376449foc6be5b687c469a2b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-10-16 7:31 ` Avi Kivity
2007-10-12 18:39 ` Jeremy Fitzhardinge
[not found] ` <470FBF58.2080701-TSDbQ3PG+2Y@public.gmane.org>
2007-10-12 18:58 ` Anthony Liguori
2007-10-15 17:15 ` Glauber de Oliveira Costa
2007-10-12 19:48 ` Hollis Blanchard
2007-10-12 20:02 ` Anthony Liguori
[not found] ` <470FD2CA.1000702-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-10-12 21:55 ` Hollis Blanchard
2007-10-12 22:07 ` Anthony Liguori [this message]
[not found] ` <470FF036.6080803-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-10-15 4:04 ` Dong, Eddie
[not found] ` <10EA09EFD8728347A513008B6B0DA77A023A6DCE-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-10-15 16:01 ` Hollis Blanchard
2007-10-15 16:47 ` Avi Kivity
[not found] ` <47139994.4030606-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-15 23:05 ` Hollis Blanchard
2007-10-16 8:15 ` Gerd Hoffmann
[not found] ` <4714731D.4040408-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2007-10-16 10:27 ` Avi Kivity
2007-10-16 9:45 ` Avi Kivity
[not found] ` <4714882C.2050504-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-16 10:03 ` Dong, Eddie
2007-10-15 17:52 ` Glauber de Oliveira Costa
[not found] ` <5d6222a80710151052j37f0561dn6dbb5b07f6f697d1-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-10-16 7:17 ` Avi Kivity
2007-10-15 17:38 ` Glauber de Oliveira Costa
2007-10-15 8:41 ` Gerd Hoffmann
[not found] ` <471327C7.8060304-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2007-10-15 9:07 ` Avi Kivity
[not found] ` <47132DCF.3060906-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-15 9:56 ` Gerd Hoffmann
[not found] ` <47133957.20508-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2007-10-15 10:14 ` Gildas
2007-10-15 11:02 ` Carsten Otte
[not found] ` <471348B1.30300-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-10-15 16:31 ` Jeremy Fitzhardinge
2007-10-15 18:03 ` Glauber de Oliveira Costa
2007-10-15 18:00 ` Glauber de Oliveira Costa
[not found] ` <5d6222a80710151100p63e8e9aata79b006b43f6c37e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-10-16 7:20 ` Avi Kivity
2007-10-16 7:40 ` Gerd Hoffmann
2007-10-15 17:53 ` Glauber de Oliveira Costa
[not found] ` <5d6222a80710151029y288fc65bs3d325d5c8d1f039c@mail.gmail.com>
[not found] ` <1192489814.22523.36.camel@basalt>
2007-10-16 1:26 ` Glauber de Oliveira Costa
2007-10-12 22:09 ` Hollis Blanchard
2007-10-15 17:48 ` Glauber de Oliveira Costa
[not found] ` <5d6222a80710151048t22e747l42106a6507c811c6-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-10-15 22:54 ` Hollis Blanchard
2007-10-16 1:15 ` Glauber de Oliveira Costa
[not found] ` <5d6222a80710151815m2330c8b7ocf4fc352954a551c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-10-16 9:47 ` Avi Kivity
2007-10-16 7:14 ` Avi Kivity
2007-10-16 8:41 ` Dong, Eddie
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=470FF036.6080803@codemonkey.ws \
--to=anthony-rdkfgonbjusknkdkm+me6a@public.gmane.org \
--cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
--cc=hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
--cc=jeremy-TSDbQ3PG+2Y@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
/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