Re: [RFC PATCH v2 2/2] add support for Hyper-V invariant TSC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2013-05-24 at 16:41 -0300, Marcelo Tosatti wrote:
> On Fri, May 24, 2013 at 06:11:16AM -0400, Vadim Rozenfeld wrote:
> > > Is there a better option?
> > > 
> > If setting TscSequence to zero makes Windows fall back to the MSR this is a
> > better option.
> > 
> > +1 
> > This is why MS has two different mechanisms:
> > iTSC as a primary, reference counters as a fall-back.
> 
> Ok, is it documented that transition
> 
> iTSC valid (Sequence != 0 and != 0xFFFFFFFF) -> 
> iTSC not valid but ref MSR valid (Sequence = 0), 
> 
> is a valid transition?
> 
Yes, it's true.
> It was not obvious for me. Can you point to documentation?
> 
> 
Hypervisor Functional Specification v2.0a: For Windows Server 2008 R2
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=18673

"15.4.3.3 Reference TSC during Save/Restore and Migration
To address migration scenarios to physical platforms which do not
support iTSC, the TscSequence field is used. In the event a guest
partition is migrated from an iTSC capable host to a non-iTSC capable
host, the hypervisor sets TscSequence to the special value of 0x0, which
directs the guest operating system to fall back to a different clock
source (the virtual PM timer)."

Now what the virtual PM timer is - if hypervisor provides PM Timer
assist support (HvPartitionPropertyPmTimerAssist partition property),
it will use partition reference counters to calculate PM Timer value.
If partition has no HvPartitionPropertyPmTimerAssist - guest will use
reference counters MSR directly.
Currently we don't support PM timer assist, so TscSequence 0x0 means
fallback to reference counters.






--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux