[Qemu-devel] [PATCH v5 0/1] i386/kvm: TSC page clocksource for Hyper-V-on-KVM fixes

Vitaly Kuznetsov posted 1 patch 6 years ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20180411115036.31832-1-vkuznets@redhat.com
Test checkpatch passed
Test docker-build@min-glib passed
Test docker-mingw@fedora passed
Test s390x passed
target/i386/cpu.c          |  4 +++-
target/i386/cpu.h          |  4 ++++
target/i386/hyperv-proto.h |  9 ++++++++-
target/i386/kvm.c          | 39 ++++++++++++++++++++++++++++++++++++++-
target/i386/machine.c      | 24 ++++++++++++++++++++++++
5 files changed, 77 insertions(+), 3 deletions(-)
[Qemu-devel] [PATCH v5 0/1] i386/kvm: TSC page clocksource for Hyper-V-on-KVM fixes
Posted by Vitaly Kuznetsov 6 years ago
Changes since v4:
- Rebase on top of Roman's patches.
- Drop PATCH2 as it is no longer needed (after adding explicit
  hv_frequencies).

Previously, Ladi was working on enabling TSC page clocksource for nested
Hyper-V-on-KVM workloads. He found out that if Hyper-V frequency MSRs are
exposed to L1 as well as INVTSC flag Hyper-V enables TSC page clocksource
to its guests. Qemu doesn't pass INVTSC by default as it is a migration
blocker.

I found out there's a different way to make Hyper-V like us: expose
Reenlightenment MSRs to it. KVM doesn't fully support the feature as
we're still unable to migrate nested environments but rudimentary support
we have there is enough.

Enable Hyper-V reenlightenment MSRs to make things work.

Vitaly Kuznetsov (1):
  i386/kvm: add support for Hyper-V reenlightenment MSRs

 target/i386/cpu.c          |  4 +++-
 target/i386/cpu.h          |  4 ++++
 target/i386/hyperv-proto.h |  9 ++++++++-
 target/i386/kvm.c          | 39 ++++++++++++++++++++++++++++++++++++++-
 target/i386/machine.c      | 24 ++++++++++++++++++++++++
 5 files changed, 77 insertions(+), 3 deletions(-)

-- 
2.14.3


Re: [Qemu-devel] [PATCH v5 0/1] i386/kvm: TSC page clocksource for Hyper-V-on-KVM fixes
Posted by Vitaly Kuznetsov 5 years, 11 months ago
Vitaly Kuznetsov <vkuznets@redhat.com> writes:

> Changes since v4:
> - Rebase on top of Roman's patches.
> - Drop PATCH2 as it is no longer needed (after adding explicit
>   hv_frequencies).
>
> Previously, Ladi was working on enabling TSC page clocksource for nested
> Hyper-V-on-KVM workloads. He found out that if Hyper-V frequency MSRs are
> exposed to L1 as well as INVTSC flag Hyper-V enables TSC page clocksource
> to its guests. Qemu doesn't pass INVTSC by default as it is a migration
> blocker.
>
> I found out there's a different way to make Hyper-V like us: expose
> Reenlightenment MSRs to it. KVM doesn't fully support the feature as
> we're still unable to migrate nested environments but rudimentary support
> we have there is enough.
>
> Enable Hyper-V reenlightenment MSRs to make things work.
>

Gentle ping :-)

With Roman's Reviewed-by:, is there anything else needed from me to get
this accepted?

Thanks!

-- 
  Vitaly

Re: [Qemu-devel] [PATCH v5 0/1] i386/kvm: TSC page clocksource for Hyper-V-on-KVM fixes
Posted by Paolo Bonzini 5 years, 11 months ago
On 02/05/2018 09:34, Vitaly Kuznetsov wrote:
> Vitaly Kuznetsov <vkuznets@redhat.com> writes:
> 
>> Changes since v4:
>> - Rebase on top of Roman's patches.
>> - Drop PATCH2 as it is no longer needed (after adding explicit
>>   hv_frequencies).
>>
>> Previously, Ladi was working on enabling TSC page clocksource for nested
>> Hyper-V-on-KVM workloads. He found out that if Hyper-V frequency MSRs are
>> exposed to L1 as well as INVTSC flag Hyper-V enables TSC page clocksource
>> to its guests. Qemu doesn't pass INVTSC by default as it is a migration
>> blocker.
>>
>> I found out there's a different way to make Hyper-V like us: expose
>> Reenlightenment MSRs to it. KVM doesn't fully support the feature as
>> we're still unable to migrate nested environments but rudimentary support
>> we have there is enough.
>>
>> Enable Hyper-V reenlightenment MSRs to make things work.
>>
> 
> Gentle ping :-)
> 
> With Roman's Reviewed-by:, is there anything else needed from me to get
> this accepted?
> 
> Thanks!
> 

Queued, thanks.

Paolo