Re: Use CPUID to communicate with the hypervisor.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Gerd Hoffmann
Date: Tuesday, September 30, 2008 - 1:11 am

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
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.

Is the tsc cpu leaf interface set in stone already (aka implemented in
vmware versions released to public)?


paravirtualized xen guests have a paravirtual clock.  That is a struct
containing three pieces of information: system time, tsc counter for the
last system time update, tsc frequency.  The guest gets the current time
by reading the system time and adding a delta calculated from current
tsc, tsc of last systime update and tsc frequency.  Handling tsc
frequency changes is obviously trivial here, just update the field on
the next systime update ;)

cheers,
  Gerd
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Use CPUID to communicate with the hypervisor., Alok Kataria, (Fri Sep 26, 4:46 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Fri Sep 26, 5:09 pm)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Fri Sep 26, 5:30 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Fri Sep 26, 5:32 pm)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Fri Sep 26, 5:59 pm)
Re: Use CPUID to communicate with the hypervisor., Jeremy Fitzhardinge, (Fri Sep 26, 6:02 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Fri Sep 26, 6:28 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Fri Sep 26, 6:55 pm)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Fri Sep 26, 8:11 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Fri Sep 26, 9:20 pm)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Fri Sep 26, 9:52 pm)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Fri Sep 26, 10:37 pm)
Re: Use CPUID to communicate with the hypervisor., Jeremy Fitzhardinge, (Sat Sep 27, 10:01 pm)
Re: Use CPUID to communicate with the hypervisor., Gleb Natapov, (Sun Sep 28, 11:55 pm)
Re: Use CPUID to communicate with the hypervisor., Avi Kivity, (Mon Sep 29, 12:37 am)
Re: Use CPUID to communicate with the hypervisor., Gerd Hoffmann, (Mon Sep 29, 1:24 am)
Re: Use CPUID to communicate with the hypervisor., Bernd Eckenfels, (Mon Sep 29, 2:08 am)
Re: Use CPUID to communicate with the hypervisor., Tim Deegan, (Mon Sep 29, 2:28 am)
Re: Use CPUID to communicate with the hypervisor., Gleb Natapov, (Mon Sep 29, 2:33 am)
Re: Use CPUID to communicate with the hypervisor., Avi Kivity, (Mon Sep 29, 2:44 am)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Mon Sep 29, 8:32 am)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Mon Sep 29, 10:55 am)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 10:58 am)
Re: Use CPUID to communicate with the hypervisor., Gerd Hoffmann, (Mon Sep 29, 11:46 am)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Mon Sep 29, 12:38 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 1:31 pm)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Mon Sep 29, 1:55 pm)
Re: Use CPUID to communicate with the hypervisor., Karel Zak, (Mon Sep 29, 1:56 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 2:07 pm)
Re: Use CPUID to communicate with the hypervisor., Jeremy Fitzhardinge, (Mon Sep 29, 2:28 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 2:49 pm)
Re: Use CPUID to communicate with the hypervisor., Gerd Hoffmann, (Mon Sep 29, 3:46 pm)
Re: Use CPUID to communicate with the hypervisor., Zachary Amsden, (Mon Sep 29, 4:20 pm)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Mon Sep 29, 5:12 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 5:31 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 5:33 pm)
Re: Use CPUID to communicate with the hypervisor., Alok Kataria, (Mon Sep 29, 5:33 pm)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Mon Sep 29, 5:56 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 5:58 pm)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Mon Sep 29, 6:14 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 7:21 pm)
RE: Use CPUID to communicate with the hypervisor., Nakajima, Jun, (Mon Sep 29, 8:14 pm)
Re: Use CPUID to communicate with the hypervisor., H. Peter Anvin, (Mon Sep 29, 8:48 pm)
Re: Use CPUID to communicate with the hypervisor., Gerd Hoffmann, (Tue Sep 30, 1:11 am)
Re: Use CPUID to communicate with the hypervisor., Avi Kivity, (Tue Sep 30, 2:16 am)
Re: Use CPUID to communicate with the hypervisor., Zachary Amsden, (Tue Sep 30, 9:42 am)
[Hypervisors] TSC frequency change, Alok Kataria, (Tue Sep 30, 9:35 pm)
Re: [Hypervisors] TSC frequency change, Gerd Hoffmann, (Wed Oct 1, 2:47 am)
Re: Use CPUID to communicate with the hypervisor., Avi Kivity, (Thu Oct 2, 4:52 am)