All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] enable pvhvm vcpu placement in kernel
@ 2011-10-28  5:28 zhenzhong.duan
  2011-11-08 16:48 ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 3+ messages in thread
From: zhenzhong.duan @ 2011-10-28  5:28 UTC (permalink / raw)
  To: jeremy, stefano.stabellini
  Cc: linux-x86_64, xen-devel, joe.jin, zhenzhong.duan, konrad.wilk

pvhvm running with more than 32 vcpus and pv_irq/pv_time enabled 
need vcpu placement to work, or else it will softlockup.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com>
---
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();

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] enable pvhvm vcpu placement in kernel
  2011-10-28  5:28 [PATCH] enable pvhvm vcpu placement in kernel zhenzhong.duan
@ 2011-11-08 16:48 ` Konrad Rzeszutek Wilk
  2011-11-08 17:08   ` Stefano Stabellini
  0 siblings, 1 reply; 3+ messages in thread
From: Konrad Rzeszutek Wilk @ 2011-11-08 16:48 UTC (permalink / raw)
  To: zhenzhong.duan
  Cc: jeremy, xen-devel, joe.jin, linux-x86_64, stefano.stabellini

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 <zhenzhong.duan@oracle.com>
> ---
> 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();

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] enable pvhvm vcpu placement in kernel
  2011-11-08 16:48 ` Konrad Rzeszutek Wilk
@ 2011-11-08 17:08   ` Stefano Stabellini
  0 siblings, 0 replies; 3+ messages in thread
From: Stefano Stabellini @ 2011-11-08 17:08 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk
  Cc: jeremy@goop.org, xen-devel@lists.xensource.com, Stabellini,
	joe.jin@oracle.com, zhenzhong.duan@oracle.com

On Tue, 8 Nov 2011, Konrad Rzeszutek Wilk wrote:
> 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?

Ack.

> > 
> > Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com>
> > ---
> > 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();
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-11-08 17:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-28  5:28 [PATCH] enable pvhvm vcpu placement in kernel zhenzhong.duan
2011-11-08 16:48 ` Konrad Rzeszutek Wilk
2011-11-08 17:08   ` Stefano Stabellini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.