From: Zachary Amsden <zach@vmware.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: Alok Kataria <akataria@vmware.com>, Ingo Molnar <mingo@elte.hu>,
"H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
LKML <linux-kernel@vger.kernel.org>,
the arch/x86 maintainers <x86@kernel.org>,
Jeremy Fitzhardinge <jeremy@goop.org>,
"avi@redhat.com" <avi@redhat.com>,
Rusty Russell <rusty@rustcorp.com.au>,
Daniel Hecht <dhecht@vmware.com>,
"Jun.Nakajima@Intel.Com" <Jun.Nakajima@Intel.Com>
Subject: Re: Use CPUID to communicate with the hypervisor.
Date: Tue, 30 Sep 2008 09:42:38 -0700 [thread overview]
Message-ID: <1222792958.7330.16.camel@bodhitayantram.eng.vmware.com> (raw)
In-Reply-To: <48E1DF2C.9050409@redhat.com>
On Tue, 2008-09-30 at 01:11 -0700, Gerd Hoffmann wrote:
> Alok Kataria wrote:
> Well, that should be clearly defined, that is my point. When asking the
> hypervisor for the tsc instead of running a calibration loop, then we
> have a small bit of paravirtualization: The guest is aware that it runs
> on a hypervisor and just asks it directly. So while we are at it we can
> also define a way to communicate tsc freq changes between host and
> guest, so the cost of trap'n'emulate tsc reads can be avoided. Or we
> define "tsc is constant" and leave it to the hypervisor to make sure it
For our purposes, we define TSC is constant.
> actually appears being constant to the guest, even in case it changes on
> the host. But it must be defined one way or another, so the guest knows
> whenever it should expect the tsc frequency change or not. And in case
> we allow tsc changes, we also need a way to signal that to the guest.
Non-constant TSCs probably won't want to use CPUID based retreival, due
to the extra trap it would require to read TSC frequency, it can't be
done at every TSC read (or else, virtualizing TSC frequency has the same
cost and you haven't won anything by making it dynamic). It's also not
clean to issue interrupts to the guest telling it TSC frequency has
changed because the guest may not notice the interrupt before making
computations using the old value, and multiple rapid changes would
require multiple interrupt injections for each affected guest.
> Is the tsc cpu leaf interface set in stone already (aka implemented in
> vmware versions released to public)?
Not to my knowledge.
Zach
next prev parent reply other threads:[~2008-09-30 16:46 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-26 23:46 Alok Kataria
2008-09-27 0:09 ` H. Peter Anvin
2008-09-27 0:30 ` Alok Kataria
2008-09-27 0:32 ` H. Peter Anvin
2008-09-27 0:59 ` Nakajima, Jun
2008-09-27 1:55 ` H. Peter Anvin
2008-09-27 4:52 ` Nakajima, Jun
2008-09-29 20:56 ` Karel Zak
2008-09-27 1:02 ` Jeremy Fitzhardinge
2008-09-27 1:28 ` H. Peter Anvin
2008-09-27 3:11 ` Alok Kataria
2008-09-27 4:20 ` H. Peter Anvin
2008-09-27 5:37 ` Alok Kataria
2008-09-28 5:01 ` Jeremy Fitzhardinge
2008-09-29 9:28 ` Tim Deegan
2008-09-29 9:44 ` Avi Kivity
2008-09-29 6:55 ` Gleb Natapov
2008-09-29 7:37 ` Avi Kivity
2008-09-29 9:08 ` Bernd Eckenfels
2008-09-29 9:33 ` Gleb Natapov
2008-09-29 15:32 ` Nakajima, Jun
2008-09-30 9:16 ` Avi Kivity
2008-09-29 8:24 ` Gerd Hoffmann
2008-09-29 17:55 ` Alok Kataria
2008-09-29 17:58 ` H. Peter Anvin
2008-09-29 18:46 ` Gerd Hoffmann
2008-09-29 19:38 ` Alok Kataria
2008-09-29 20:31 ` H. Peter Anvin
2008-09-29 20:55 ` Nakajima, Jun
2008-09-29 21:07 ` H. Peter Anvin
2008-09-29 21:28 ` Jeremy Fitzhardinge
2008-09-29 21:49 ` H. Peter Anvin
2008-09-29 23:20 ` Zachary Amsden
2008-09-30 0:33 ` H. Peter Anvin
2008-09-30 0:12 ` Alok Kataria
2008-09-30 0:31 ` H. Peter Anvin
2008-09-30 0:56 ` Nakajima, Jun
2008-09-30 0:58 ` H. Peter Anvin
2008-09-30 1:14 ` Nakajima, Jun
2008-09-30 2:21 ` H. Peter Anvin
2008-09-30 3:14 ` Nakajima, Jun
2008-09-30 3:48 ` H. Peter Anvin
2008-09-29 22:46 ` Gerd Hoffmann
2008-09-30 0:33 ` Alok Kataria
2008-09-30 8:11 ` Gerd Hoffmann
2008-09-30 16:42 ` Zachary Amsden [this message]
2008-10-02 11:52 ` Avi Kivity
2008-10-01 4:35 ` [Hypervisors] TSC frequency change Alok Kataria
2008-10-01 9:47 ` Gerd Hoffmann
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=1222792958.7330.16.camel@bodhitayantram.eng.vmware.com \
--to=zach@vmware.com \
--cc=Jun.Nakajima@Intel.Com \
--cc=akataria@vmware.com \
--cc=avi@redhat.com \
--cc=dhecht@vmware.com \
--cc=hpa@zytor.com \
--cc=jeremy@goop.org \
--cc=kraxel@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rusty@rustcorp.com.au \
--cc=tglx@linutronix.de \
--cc=x86@kernel.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
Powered by JetHome