From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH] enable pvhvm vcpu placement in kernel Date: Tue, 8 Nov 2011 11:48:20 -0500 Message-ID: <20111108164820.GA30802@phenom.dumpdata.com> References: <1319779739-19300-1-git-send-email-zhenzhong.duan@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1319779739-19300-1-git-send-email-zhenzhong.duan@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: zhenzhong.duan@oracle.com Cc: jeremy@goop.org, xen-devel@lists.xensource.com, joe.jin@oracle.com, linux-x86_64@vger.kernel.org, stefano.stabellini@eu.citrix.com List-Id: xen-devel@lists.xenproject.org On Thu, Oct 27, 2011 at 10:28:59PM -0700, zhenzhong.duan@oracle.com wrote: > pvhvm running with more than 32 vcpus and pv_irq/pv_time enabled > need vcpu placement to work, or else it will softlockup. Stefano? > > Signed-off-by: Zhenzhong Duan > --- > diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c > index da8afd5..1f92865 100644 > --- a/arch/x86/xen/enlighten.c > +++ b/arch/x86/xen/enlighten.c > @@ -1356,7 +1356,7 @@ static int __cpuinit xen_hvm_cpu_notify(struct notifier_block *self, > int cpu = (long)hcpu; > switch (action) { > case CPU_UP_PREPARE: > - per_cpu(xen_vcpu, cpu) = &HYPERVISOR_shared_info->vcpu_info[cpu]; > + xen_vcpu_setup(cpu); > if (xen_have_vector_callback) > xen_init_lock_cpu(cpu); > break; > @@ -1386,7 +1386,6 @@ static void __init xen_hvm_guest_init(void) > xen_hvm_smp_init(); > register_cpu_notifier(&xen_hvm_cpu_notifier); > xen_unplug_emulated_devices(); > - have_vcpu_info_placement = 0; > x86_init.irqs.intr_init = xen_init_IRQ; > xen_hvm_init_time_ops(); > xen_hvm_init_mmu_ops();