From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: kvm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Radim Krčmář" <rkrcmar@redhat.com>,
"K. Y. Srinivasan" <kys@microsoft.com>,
"Michael Kelley (EOSG)" <Michael.H.Kelley@microsoft.com>,
"Andrey Smetanin" <asmetanin@virtuozzo.com>,
"Roman Kagan" <rkagan@virtuozzo.com>,
"Denis V . Lunev" <den@openvz.org>
Subject: [PATCH 0/3] x86/kvm/hyper-v: More fixes for TSC page clocksource for Hyper-V on KVM
Date: Wed, 28 Feb 2018 14:43:58 +0100 [thread overview]
Message-ID: <20180228134401.6544-1-vkuznets@redhat.com> (raw)
Previously (see commit 72c139bacf) it was found that Hyper-V frequency
MSRs are required to make Hyper-V on KVM pass through TSC page as stable
clocksource to its guests. However, to make things work this is not
enough. Hyper-V tries to prove that TSC frequency underneath it won't
change (e.g. when it's migrated), there are two mechanisms:
1) Invariant TSC (CPUID.80000007H:EDX[8]). If Hyper-V sees this bit it will
treat TSC as stable. We, however, don't want to pass it as it makes
migration hard (e.g. Qemu adds a migration blocker when 'invtsc' flag is
passed. Genuine Hyper-V running in L0 doesn't pass it either.
2) Hyper-V Reenlightenment (CPUID.40000003H:EAX[13]).
This patch series add rudimentary support for Hyper-V reenlightenment
notifications to KVM ('producer' part; we already implemented
reenlightenment 'consumer' for KVM-on Hyper-V some time ago) and fixes
bugs I found during testing. Fully fledged reenlightenment implementation
will be added later when we learn to migrate nested workloads in KVM making
testing possible.
Qemu patches are also required, I'll post them separately.
Vitaly Kuznetsov (3):
x86/kvm/hyper-v: add reenlightenment MSRs support
x86/kvm/hyper-v: remove stale entries from vec_bitmap/auto_eoi_bitmap
on vector change
x86/kvm/hyper-v: inject #GP only when invalid SINTx vector is unmasked
arch/x86/include/asm/kvm_host.h | 4 +++
arch/x86/include/uapi/asm/hyperv.h | 3 ++
arch/x86/kvm/hyperv.c | 58 +++++++++++++++++++++++++++++++-------
arch/x86/kvm/x86.c | 12 +++++++-
4 files changed, 66 insertions(+), 11 deletions(-)
--
2.14.3
next reply other threads:[~2018-02-28 13:43 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-28 13:43 Vitaly Kuznetsov [this message]
2018-02-28 13:43 ` [PATCH 1/3] x86/kvm/hyper-v: add reenlightenment MSRs support Vitaly Kuznetsov
2018-02-28 16:48 ` Roman Kagan
2018-02-28 17:43 ` Vitaly Kuznetsov
2018-02-28 13:44 ` [PATCH 2/3] x86/kvm/hyper-v: remove stale entries from vec_bitmap/auto_eoi_bitmap on vector change Vitaly Kuznetsov
2018-02-28 14:38 ` Roman Kagan
2018-02-28 13:44 ` [PATCH 3/3] x86/kvm/hyper-v: inject #GP only when invalid SINTx vector is unmasked Vitaly Kuznetsov
2018-02-28 15:18 ` Roman Kagan
2018-02-28 15:35 ` Vitaly Kuznetsov
2018-02-28 16:14 ` Roman Kagan
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=20180228134401.6544-1-vkuznets@redhat.com \
--to=vkuznets@redhat.com \
--cc=Michael.H.Kelley@microsoft.com \
--cc=asmetanin@virtuozzo.com \
--cc=den@openvz.org \
--cc=kvm@vger.kernel.org \
--cc=kys@microsoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=rkagan@virtuozzo.com \
--cc=rkrcmar@redhat.com \
--cc=x86@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox