Hi, This is a new spin of the series to disable vmx on kdump and on emergency_restart. Now we avoid doing the function pointer stuff by moving 4 small KVM functions to a header, as inline functions. The code looks much simpler now, but we have to be more careful because some additional code will run on kdump and reboot even when KVM is never loaded. I haven't tested the SVM changes on AMD CPUs. The changes are really simple, but some testing is welcome. This series is against tip.git#master, that already contains the nmi_shootdown_cpus() changes I've submitted previously. *Note: With this series, we will run the NMI stuff only when the CPU where emergency_restart() was called has VMX enabled. This should work on most cases because KVM enables VMX on all CPUs, but we may miss it if we get called during the tiny window where KVM is enabling VMX. Also, I don't know if all code using VMX out there always enable VMX on all CPUs like KVM does. We have two other alternatives for that: a) Have an API that all code that enables VMX on any CPU should use to tell the kernel core that it is going to enable VMX on the CPUs. b) Always call nmi_shootdown_cpus() if the CPU supports VMX. This is a bit intrusive and more risky, as it would unnecessarily run nmi_shootdown_cpus() on emergency_reboot() even on systems where virtualization is never enabled. -- Eduardo