On 23.05.2013 15:18, Paolo Bonzini wrote:
Il 23/05/2013 14:25, Vadim Rozenfeld ha scritto:


----- Original Message -----
From: "Peter Lieven" <[email protected]>
To: "Paolo Bonzini" <[email protected]>
Cc: "Vadim Rozenfeld" <[email protected]>, "Marcelo Tosatti" 
<[email protected]>, [email protected], [email protected], [email protected]
Sent: Thursday, May 23, 2013 4:17:57 PM
Subject: Re: [RFC PATCH v2 1/2] add support for Hyper-V reference time counter

On 22.05.2013 23:55, Paolo Bonzini wrote:
Il 22/05/2013 09:32, Vadim Rozenfeld ha scritto:
@@ -1827,6 +1829,29 @@ static int set_msr_hyperv_pw(struct kvm_vcpu *vcpu, u32 
msr, u64 data)
                if (__copy_to_user((void __user *)addr, instructions, 4))
                        return 1;
                kvm->arch.hv_hypercall = data;
+               local_irq_disable();
+               kvm->arch.hv_ref_count = get_kernel_ns();
+               local_irq_enable();
+               break;
local_irq_disable/local_irq_enable not needed.


What is the reasoning behind reading this time value at msr write time?
[VR] Windows writs this MSR only once, during HAL initialization.
So, I decided to treat this call as a partition crate event.


But is it expected by Windows that the reference count starts counting
up from 0 at partition creation time?  If you could just use
(get_kernel_ns() + kvm->arch.kvmclock_offset) / 100, it would also be
simpler for migration purposes.

I can just report, that I have used the patch that does it that way and it 
works.
Maybe Windows is calculating the uptime by the reference counter?

[VR]
Windows use it (reference counters/iTSC/PMTimer/HPET) as a time-stamp source
for (Ke)QueryPerformanceCounter function.

So I would prefer to remove kvm->arch.hv_ref_count altogether.

But only if the migration support is guaranteed.
And what if we have a host which lacks invariant TSC support?

Peter



Paolo


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

Reply via email to