[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 1/1] hyperv: cpu hotplug fix with HyperV enab
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH v3 1/1] hyperv: cpu hotplug fix with HyperV enabled |
Date: |
Tue, 8 Mar 2016 14:51:50 -0300 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, Mar 01, 2016 at 04:45:02PM +0300, Denis V. Lunev wrote:
> On 02/22/2016 12:13 PM, Denis V. Lunev wrote:
> >With Hyper-V enabled CPU hotplug stops working. The CPU appears in device
> >manager on Windows but does not appear in peformance monitor and control
> >panel.
> >
> >The root of the problem is the following. Windows checks
> >HV_X64_CPU_DYNAMIC_PARTITIONING_AVAILABLE bit in CPUID. The presence of
> >this bit is enough to cure the situation.
> >
> >The bit should be set when CPU hotplug is allowed for HyperV VM. The check
> >that hot_add_cpu callback is defined is enough from the protocol point
> >of view. Though this callback is defined almost always thus there is no
> >need to export that knowledge in the other way.
> >
> >Signed-off-by: Denis V. Lunev <address@hidden>
> >Reviewed-by: Roman Kagan <address@hidden>
> >CC: Paolo Bonzini <address@hidden>
> >CC: Richard Henderson <address@hidden>
> >CC: Eduardo Habkost <address@hidden>
> >CC: "Andreas Färber" <address@hidden>
> >---
> >Changes from v2:
> >- bit set unconditionally upon the discussion
> >
> >Changes from v1:
> >- dropped command line option and set the bit if HyperV is enabled and
> > hot_add_cpu callback is present
> >
> > target-i386/kvm.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> >diff --git a/target-i386/kvm.c b/target-i386/kvm.c
> >index 7974acb..08d6444 100644
> >--- a/target-i386/kvm.c
> >+++ b/target-i386/kvm.c
> >@@ -639,6 +639,7 @@ int kvm_arch_init_vcpu(CPUState *cs)
> > if (cpu->hyperv_crash && has_msr_hv_crash) {
> > c->edx |= HV_X64_GUEST_CRASH_MSR_AVAILABLE;
> > }
> >+ c->edx |= HV_X64_CPU_DYNAMIC_PARTITIONING_AVAILABLE;
> > if (cpu->hyperv_reset && has_msr_hv_reset) {
> > c->eax |= HV_X64_MSR_RESET_AVAILABLE;
> > }
> ping
Reviewed-by: Eduardo Habkost <address@hidden>
Applied to x86 branch.
Thanks!
--
Eduardo