From: Andrey Smetanin <asmetanin@virtuozzo.com>
To: kvm@vger.kernel.org
Cc: Gleb Natapov <gleb@kernel.org>,
Haiyang Zhang <haiyangz@microsoft.com>,
qemu-devel@nongnu.org, Roman Kagan <rkagan@virtuozzo.com>,
"Denis V. Lunev" <den@openvz.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>,
"K. Y. Srinivasan" <kys@microsoft.com>
Subject: [Qemu-devel] [PATCH v1 0/7] KVM: Hyper-V SynIC timers
Date: Wed, 25 Nov 2015 18:20:14 +0300 [thread overview]
Message-ID: <1448464821-8199-1-git-send-email-asmetanin@virtuozzo.com> (raw)
Per Hyper-V specification (and as required by Hyper-V-aware guests),
SynIC provides 4 per-vCPU timers. Each timer is programmed via a pair
of MSRs, and signals expiration by delivering a special format message
to the configured SynIC message slot and triggering the corresponding
synthetic interrupt.
Note: as implemented by this patch, all periodic timers are "lazy"
(i.e. if the vCPU wasn't scheduled for more than the timer period the
timer events are lost), regardless of the corresponding configuration
MSR. If deemed necessary, the "catch up" mode (the timer period is
shortened until the timer catches up) will be implemented later.
The Hyper-V SynIC timers support is required to load winhv.sys
inside Windows guest on which guest VMBus devices depends on.
This patches depends on Hyper-V SynIC patches previosly sent.
Signed-off-by: Andrey Smetanin <asmetanin@virtuozzo.com>
CC: Gleb Natapov <gleb@kernel.org>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: "K. Y. Srinivasan" <kys@microsoft.com>
CC: Haiyang Zhang <haiyangz@microsoft.com>
CC: Vitaly Kuznetsov <vkuznets@redhat.com>
CC: Roman Kagan <rkagan@virtuozzo.com>
CC: Denis V. Lunev <den@openvz.org>
CC: qemu-devel@nongnu.org
Andrey Smetanin (7):
drivers/hv: Move HV_SYNIC_STIMER_COUNT into Hyper-V UAPI x86 header
drivers/hv: Move struct hv_message into UAPI Hyper-V x86 header
kvm/x86: Rearrange func's declarations inside Hyper-V header
kvm/x86: Added Hyper-V vcpu_to_hv_vcpu()/hv_vcpu_to_vcpu() helpers
kvm/x86: Hyper-V internal helper to read MSR HV_X64_MSR_TIME_REF_COUNT
kvm/x86: Hyper-V SynIC message slot pending clearing at SINT ack
kvm/x86: Hyper-V SynIC timers
arch/x86/include/asm/kvm_host.h | 13 ++
arch/x86/include/uapi/asm/hyperv.h | 99 ++++++++++
arch/x86/kvm/hyperv.c | 367 ++++++++++++++++++++++++++++++++++++-
arch/x86/kvm/hyperv.h | 54 ++++--
arch/x86/kvm/x86.c | 9 +
drivers/hv/hyperv_vmbus.h | 93 ----------
include/linux/kvm_host.h | 3 +
7 files changed, 527 insertions(+), 111 deletions(-)
--
2.4.3
next reply other threads:[~2015-11-25 15:22 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-25 15:20 Andrey Smetanin [this message]
2015-11-25 15:20 ` [Qemu-devel] [PATCH v1 1/7] drivers/hv: Move HV_SYNIC_STIMER_COUNT into Hyper-V UAPI x86 header Andrey Smetanin
2015-11-27 17:27 ` KY Srinivasan
2015-11-25 15:20 ` [Qemu-devel] [PATCH v1 2/7] drivers/hv: Move struct hv_message into UAPI Hyper-V " Andrey Smetanin
2015-11-27 9:34 ` Paolo Bonzini
2015-11-27 11:21 ` Andrey Smetanin
2015-11-27 17:34 ` KY Srinivasan
2015-11-25 15:20 ` [Qemu-devel] [PATCH v1 3/7] kvm/x86: Rearrange func's declarations inside Hyper-V header Andrey Smetanin
2015-11-25 15:20 ` [Qemu-devel] [PATCH v1 4/7] kvm/x86: Added Hyper-V vcpu_to_hv_vcpu()/hv_vcpu_to_vcpu() helpers Andrey Smetanin
2015-11-25 15:20 ` [Qemu-devel] [PATCH v1 5/7] kvm/x86: Hyper-V internal helper to read MSR HV_X64_MSR_TIME_REF_COUNT Andrey Smetanin
2015-11-25 15:20 ` [Qemu-devel] [PATCH v1 6/7] kvm/x86: Hyper-V SynIC message slot pending clearing at SINT ack Andrey Smetanin
2015-11-25 16:52 ` Paolo Bonzini
2015-11-25 16:55 ` Andrey Smetanin
2015-11-25 17:14 ` Paolo Bonzini
2015-11-26 9:06 ` Andrey Smetanin
2015-11-26 14:43 ` Paolo Bonzini
2015-11-26 15:53 ` Andrey Smetanin
2015-11-26 15:56 ` Paolo Bonzini
2015-11-27 8:16 ` Roman Kagan
2015-11-25 15:20 ` [Qemu-devel] [PATCH v1 7/7] kvm/x86: Hyper-V SynIC timers Andrey Smetanin
2015-11-27 8:12 ` Roman Kagan
2015-11-27 10:49 ` Paolo Bonzini
2015-11-27 11:24 ` Andrey Smetanin
2015-11-30 12:17 ` Roman Kagan
2015-11-26 5:28 ` [Qemu-devel] [PATCH v1 0/7] KVM: " Wanpeng Li
2015-11-26 8:34 ` Andrey Smetanin
2015-11-26 9:03 ` Wanpeng Li
2015-12-01 10:12 ` Wanpeng Li
2015-12-01 10:28 ` Denis V. Lunev
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=1448464821-8199-1-git-send-email-asmetanin@virtuozzo.com \
--to=asmetanin@virtuozzo.com \
--cc=den@openvz.org \
--cc=gleb@kernel.org \
--cc=haiyangz@microsoft.com \
--cc=kvm@vger.kernel.org \
--cc=kys@microsoft.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rkagan@virtuozzo.com \
--cc=vkuznets@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).