mirror of
https://github.com/torvalds/linux.git
synced 2024-12-15 15:41:58 +00:00
xen:pvhvm: enable PVHVM VCPU placement when using more than 32 CPUs.
PVHVM running with more than 32 vcpus and pv_irq/pv_time enabled need VCPU placement to work, or else it will softlockup. CC: stable@kernel.org Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
parent
72e9cf2ab1
commit
90d4f5534d
@ -1356,7 +1356,7 @@ static int __cpuinit xen_hvm_cpu_notify(struct notifier_block *self,
|
|||||||
int cpu = (long)hcpu;
|
int cpu = (long)hcpu;
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case CPU_UP_PREPARE:
|
case CPU_UP_PREPARE:
|
||||||
per_cpu(xen_vcpu, cpu) = &HYPERVISOR_shared_info->vcpu_info[cpu];
|
xen_vcpu_setup(cpu);
|
||||||
if (xen_have_vector_callback)
|
if (xen_have_vector_callback)
|
||||||
xen_init_lock_cpu(cpu);
|
xen_init_lock_cpu(cpu);
|
||||||
break;
|
break;
|
||||||
@ -1386,7 +1386,6 @@ static void __init xen_hvm_guest_init(void)
|
|||||||
xen_hvm_smp_init();
|
xen_hvm_smp_init();
|
||||||
register_cpu_notifier(&xen_hvm_cpu_notifier);
|
register_cpu_notifier(&xen_hvm_cpu_notifier);
|
||||||
xen_unplug_emulated_devices();
|
xen_unplug_emulated_devices();
|
||||||
have_vcpu_info_placement = 0;
|
|
||||||
x86_init.irqs.intr_init = xen_init_IRQ;
|
x86_init.irqs.intr_init = xen_init_IRQ;
|
||||||
xen_hvm_init_time_ops();
|
xen_hvm_init_time_ops();
|
||||||
xen_hvm_init_mmu_ops();
|
xen_hvm_init_mmu_ops();
|
||||||
|
Loading…
Reference in New Issue
Block a user