mirror of https://gitee.com/openkylin/linux.git
xen: restore runstate_info even if !have_vcpu_info_placement
Even if have_vcpu_info_placement is not set, we still need to set up the runstate area on each resumed vcpu. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Stable Kernel <stable@kernel.org>
This commit is contained in:
parent
be012920ec
commit
3905bb2aa7
|
@ -138,26 +138,23 @@ static void xen_vcpu_setup(int cpu)
|
|||
*/
|
||||
void xen_vcpu_restore(void)
|
||||
{
|
||||
if (have_vcpu_info_placement) {
|
||||
int cpu;
|
||||
int cpu;
|
||||
|
||||
for_each_online_cpu(cpu) {
|
||||
bool other_cpu = (cpu != smp_processor_id());
|
||||
for_each_online_cpu(cpu) {
|
||||
bool other_cpu = (cpu != smp_processor_id());
|
||||
|
||||
if (other_cpu &&
|
||||
HYPERVISOR_vcpu_op(VCPUOP_down, cpu, NULL))
|
||||
BUG();
|
||||
if (other_cpu &&
|
||||
HYPERVISOR_vcpu_op(VCPUOP_down, cpu, NULL))
|
||||
BUG();
|
||||
|
||||
xen_setup_runstate_info(cpu);
|
||||
xen_setup_runstate_info(cpu);
|
||||
|
||||
if (have_vcpu_info_placement)
|
||||
xen_vcpu_setup(cpu);
|
||||
|
||||
if (other_cpu &&
|
||||
HYPERVISOR_vcpu_op(VCPUOP_up, cpu, NULL))
|
||||
BUG();
|
||||
}
|
||||
|
||||
BUG_ON(!have_vcpu_info_placement);
|
||||
if (other_cpu &&
|
||||
HYPERVISOR_vcpu_op(VCPUOP_up, cpu, NULL))
|
||||
BUG();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue