[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 0/2] i386/kvm: TSC page clocksource for Hyper-V-o
From: |
Vitaly Kuznetsov |
Subject: |
[Qemu-devel] [PATCH v4 0/2] i386/kvm: TSC page clocksource for Hyper-V-on-KVM fixes |
Date: |
Thu, 22 Mar 2018 14:13:56 +0100 |
Changes since v3:
- check cpu->hyperv_reenlightenment instead of has_msr_reenlightenment
[Eduardo Habkost, Roman Kagan]
- expose frequency MSRs only when either INVTSC or Reenlightenment is
provided [Paolo Bonzini] (I'm not doing 'hv_frequency' property for now
as the discussion around it seems to be inconclusive.)
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 (kvm/queue currently) is enough.
Enable Hyper-V reenlightenment MSRs and expose frequency MSRs even without
INVTSC to make things work.
Vitaly Kuznetsov (2):
i386/kvm: add support for Hyper-V reenlightenment MSRs
i386/kvm: expose Hyper-V frequency MSRs with reenlightenment
target/i386/cpu.c | 4 +++-
target/i386/cpu.h | 4 ++++
target/i386/hyperv-proto.h | 9 ++++++++-
target/i386/kvm.c | 41 +++++++++++++++++++++++++++++++++++++++--
target/i386/machine.c | 24 ++++++++++++++++++++++++
5 files changed, 78 insertions(+), 4 deletions(-)
--
2.14.3