[PATCH v5 0/2] x86: vmclear vmcss on all cpus when doing kdump ifnecessary

From: Zhang Yanfei
Date: Tue Nov 20 2012 - 21:23:41 EST


Currently, kdump just makes all the logical processors leave VMX operation by
executing VMXOFF instruction, so any VMCSs active on the logical processors may
be corrupted. But, sometimes, we need the VMCSs to debug guest images contained
in the host vmcore. To prevent the corruption, we should VMCLEAR the VMCSs before
executing the VMXOFF instruction.

The patch set provides a way to VMCLEAR vmcss related to guests on all cpus before
executing the VMXOFF when doing kdump. This is used to ensure the VMCSs in the
vmcore updated and non-corrupted.

Changelog from v4 to v5:
1. use an atomic notifier instead of function call, so
have all the vmclear codes in vmx.c.

Changelog from v3 to v4:
1. add a new percpu variable vmclear_skipped to skip
vmclear in kdump in some conditions.

Changelog from v2 to v3:
1. remove unnecessary conditions in function
cpu_emergency_clear_loaded_vmcss as Marcelo suggested.

Changelog from v1 to v2:
1. remove the sysctl and clear VMCSs unconditionally.

Zhang Yanfei (2):
x86/kexec: VMCLEAR vmcss on all cpus if necessary
KVM-INTEL: add a notifier and a bitmap to support VMCLEAR in kdump

arch/x86/include/asm/kexec.h | 2 +
arch/x86/kernel/crash.c | 25 ++++++++++++
arch/x86/kvm/vmx.c | 85 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 112 insertions(+), 0 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/