From: Paolo Bonzini <pbonzini@redhat.com>
To: Peter Lieven <pl@dlhnet.de>
Cc: Vadim Rozenfeld <vrozenfe@redhat.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
kvm@vger.kernel.org, gleb@redhat.com, pl@dlh.net
Subject: Re: [RFC PATCH v2 1/2] add support for Hyper-V reference time counter
Date: Thu, 23 May 2013 15:23:20 +0200 [thread overview]
Message-ID: <519E1848.9010200@redhat.com> (raw)
In-Reply-To: <519E179F.6000307@dlhnet.de>
Il 23/05/2013 15:20, Peter Lieven ha scritto:
> On 23.05.2013 15:18, Paolo Bonzini wrote:
>> Il 23/05/2013 14:25, Vadim Rozenfeld ha scritto:
>>>
>>>
>>> ----- Original Message -----
>>> From: "Peter Lieven" <pl@dlhnet.de>
>>> To: "Paolo Bonzini" <pbonzini@redhat.com>
>>> Cc: "Vadim Rozenfeld" <vrozenfe@redhat.com>, "Marcelo Tosatti"
>>> <mtosatti@redhat.com>, kvm@vger.kernel.org, gleb@redhat.com, pl@dlh.net
>>> 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.
Migration support wouldn't work yet anyway, you need to recompute the
scale and sequence. But that could be done by KVM_SET_CLOCK.
> And what if we have a host which lacks invariant TSC support?
Then the sequence must be set to 0 or 0xFFFFFFFF, I still haven't
understood. :)
Paolo
next prev parent reply other threads:[~2013-05-23 13:23 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-19 7:06 [RFC PATCH v2 0/2] Hyper-V timers Vadim Rozenfeld
2013-05-19 7:06 ` [RFC PATCH v2 1/2] add support for Hyper-V reference time counter Vadim Rozenfeld
2013-05-19 13:47 ` Gleb Natapov
2013-05-19 14:37 ` Paolo Bonzini
2013-05-22 0:46 ` Marcelo Tosatti
2013-05-22 3:28 ` Gleb Natapov
2013-05-22 3:32 ` Marcelo Tosatti
2013-05-22 3:38 ` Gleb Natapov
2013-05-22 14:31 ` Marcelo Tosatti
2013-05-22 7:32 ` Vadim Rozenfeld
2013-05-22 21:55 ` Paolo Bonzini
2013-05-23 6:17 ` Peter Lieven
2013-05-23 9:54 ` Paolo Bonzini
2013-05-23 10:45 ` Peter Lieven
2013-05-23 12:25 ` Vadim Rozenfeld
2013-05-23 13:18 ` Paolo Bonzini
2013-05-23 13:20 ` Peter Lieven
2013-05-23 13:23 ` Paolo Bonzini [this message]
2013-05-23 13:30 ` Peter Lieven
2013-05-23 13:40 ` Paolo Bonzini
2013-05-19 7:06 ` [RFC PATCH v2 2/2] add support for Hyper-V invariant TSC Vadim Rozenfeld
2013-05-22 0:50 ` Marcelo Tosatti
2013-05-22 7:22 ` Vadim Rozenfeld
2013-05-22 21:23 ` Marcelo Tosatti
2013-05-23 6:18 ` Peter Lieven
2013-05-23 9:13 ` Gleb Natapov
2013-05-23 13:35 ` Marcelo Tosatti
2013-05-23 15:14 ` Gleb Natapov
2013-05-24 9:57 ` Vadim Rozenfeld
2013-05-23 12:33 ` Vadim Rozenfeld
2013-05-23 12:44 ` Peter Lieven
2013-05-23 12:45 ` Gleb Natapov
2013-05-23 12:54 ` Vadim Rozenfeld
2013-05-23 9:12 ` Gleb Natapov
2013-05-23 13:53 ` Marcelo Tosatti
2013-05-23 15:31 ` Gleb Natapov
2013-05-24 10:11 ` Vadim Rozenfeld
2013-05-24 19:41 ` Marcelo Tosatti
2013-05-27 12:33 ` Vadim Rozenfeld
2013-05-23 12:21 ` Vadim Rozenfeld
2013-05-23 13:47 ` Marcelo Tosatti
2013-05-24 10:01 ` Vadim Rozenfeld
2013-05-23 16:44 ` Paolo Bonzini
2013-05-24 10:16 ` Vadim Rozenfeld
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=519E1848.9010200@redhat.com \
--to=pbonzini@redhat.com \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=pl@dlh.net \
--cc=pl@dlhnet.de \
--cc=vrozenfe@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.