Re: [PATCH] x86: call smp vmxoff in smp stop
From: Xishi Qiu
Date: Fri Jan 13 2017 - 20:42:51 EST
On 2017/1/14 9:36, Xishi Qiu wrote:
> From: Tiantian Feng <fengtiantian@xxxxxxxxxx>
>
> We need to disable VMX on all CPUs before stop cpu when OS panic, otherwisewe
> risk hanging up the machine, because the CPU ignore INIT signals when VMX is enabled.
> In kernel mainline this issue existence.
>
> Signed-off-by: Tiantian Feng <fengtiantian@xxxxxxxxxx>
> ---
Sorry, I missed something, please ignore this one, thanks.
> arch/x86/kernel/smp.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c
> index 68f8cc2..6b64c6b 100644
> --- a/arch/x86/kernel/smp.c
> +++ b/arch/x86/kernel/smp.c
> @@ -162,6 +162,7 @@ static int smp_stop_nmi_callback(unsigned int val, struct pt_regs *regs)
> if (raw_smp_processor_id() == atomic_read(&stopping_cpu))
> return NMI_HANDLED;
>
> + cpu_emergency_vmxoff();
> stop_this_cpu(NULL);
>
> return NMI_HANDLED;
> @@ -174,6 +175,7 @@ static int smp_stop_nmi_callback(unsigned int val, struct pt_regs *regs)
> asmlinkage __visible void smp_reboot_interrupt(void)
> {
> ipi_entering_ack_irq();
> + cpu_emergency_vmxoff();
> stop_this_cpu(NULL);
> irq_exit();
> }