[PATCH 0/6] kdump: disable virtualization extensions on crash (v2)

Eduardo Habkost ehabkost at redhat.com
Thu Oct 30 09:34:40 EDT 2008


After some discussion, this is my second try to fix properly the kdump
hang when the kvm-intel module is loaded. I've kept the virtualization
code inside the KVM, and just used a function pointer that can be
registered by KVM to be called at crash time.

This series is for one of the alternatives for solving the problem. Other
alternatives that were discussed were:

a) Using a raw notifier chain (kernel/notifier.c) (the first version
   of this series)
   - This was dropped because the less code we have to rely on, the better,
     and it would make it too easy to break kdump
b) Always calling vmxoff, after hacking the #UD vector to ignore
   unknown opcode exceptions.
  - Too hackish in my opinion. And we don't need to hack #UD, anyway,
    if we can simply test CR4.VMXE (all our code that run vmxon/vmxoff
    toggle CR4.VMXE accordingly)
c) Moving the equivalent to the hardware_disable()/hardware_enable() API
   (and the vmx and svm implementations) from the KVM module to the kernel
   core, so the kernel core knows which CPUs have virtualization enabled,
   and disables virtualization without calling into the KVM module.
   - This wasn't completely discarded, but would move to the core a bunch
     of code that always lived in the KVM module.


More information about the kexec mailing list