kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 0/2] x86: vmclear vmcss on all cpus when doing kdump if necessary
@ 2012-11-22  8:22 Zhang Yanfei
       [not found] ` <50ADE0C2.1000106-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Zhang Yanfei @ 2012-11-22  8:22 UTC (permalink / raw)
  To: x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Marcelo Tosatti, Gleb Natapov
  Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org

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 v7 to v8:
1. KEXEC: regression for using name crash_notifier_list
   and remove comments related to KVM
   and just call function atomic_notifier_call_chain directly.

Changelog from v6 to v7:
1. KVM-INTEL: in hardware_disable, we needn't disable the
   vmclear, so remove it.

Changelog from v5 to v6:
1. KEXEC: the atomic notifier list renamed:
   crash_notifier_list --> vmclear_notifier_list
2. KVM-INTEL: provide empty functions if CONFIG_KEXEC is
   not defined and remove unnecessary #ifdef's.

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: add a new atomic notifier list for kdump
  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      |    9 +++++
 arch/x86/kvm/vmx.c           |   70 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 81 insertions(+), 0 deletions(-)

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

end of thread, other threads:[~2012-11-27  1:53 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-22  8:22 [PATCH v8 0/2] x86: vmclear vmcss on all cpus when doing kdump if necessary Zhang Yanfei
     [not found] ` <50ADE0C2.1000106-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2012-11-22  8:23   ` [PATCH v8 1/2] x86/kexec: add a new atomic notifier list for kdump Zhang Yanfei
2012-11-26 15:08     ` Eric W. Biederman
     [not found]       ` <87ip8sxuyh.fsf-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-11-26 17:20         ` Gleb Natapov
     [not found]           ` <20121126172054.GF12969-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-11-26 17:43             ` Eric W. Biederman
     [not found]               ` <87fw3wuuoh.fsf-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-11-26 17:53                 ` Gleb Natapov
2012-11-26 18:18                   ` Eric W. Biederman
2012-11-27  1:32                     ` Zhang Yanfei
2012-11-27  1:49                       ` Eric W. Biederman
2012-11-27  1:53                         ` Zhang Yanfei
2012-11-22  8:25   ` [PATCH v8 2/2] KVM-INTEL: add a notifier and a bitmap to support VMCLEAR in kdump Zhang Yanfei
2012-11-25 14:26 ` [PATCH v8 0/2] x86: vmclear vmcss on all cpus when doing kdump if necessary Gleb Natapov
     [not found]   ` <20121125142642.GC25516-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-11-26  1:50     ` Zhang Yanfei
2012-11-26  1:55 ` Zhang Yanfei

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).