[PATCH 0/2] kvm: disable virtualization on kdump

Vivek Goyal vgoyal at redhat.com
Wed Oct 29 17:05:50 EDT 2008

On Wed, Oct 29, 2008 at 06:10:06PM -0200, Eduardo Habkost wrote:
> On Mon, Oct 27, 2008 at 09:09:37AM -0400, Vivek Goyal wrote:
> > On Mon, Oct 27, 2008 at 10:54:01AM +0200, Avi Kivity wrote:
> <snip>
> > >
> > > The hang was likely caused by vmx blocking INIT.  Sigh.
> > 
> > Avi,
> > 
> > We boot kdump kernel with maxcpus=1. IIUC, in that code path we will not
> > be using INIT. So did you try booting kdump kernel with maxcpus=1 and did
> > it work for you? If not than problem could be something else.
> Just checked it here: I am passing maxcpus=1 to the kdump kernel. My
> full kexec commandline is this:
> /sbin/kexec --console-serial -p '--command-line=ro root=/dev/vg0/rawhide rhgb  console=ttyS0,115200 ignore_loglevel irqpoll maxcpus=1 reset_devices earlyprintk=ttyS0,115200' --initrd=/boot/initrd-2.6.28-rc2kdump.img /boot/vmlinuz-2.6.28-rc2
> Additional info: I don't get the "I'm in purgatory" message on serial
> console, when the system hangs. I do get the message if I trigger the
> crash dump after unloading the kvm-intel module, so the serial console
> is working.

That means we are not even beginning to boot second kernel and are getting
lost somewhere in the first kernel itself (most likely relocate_kernel_32/64.S).

And it could be because of any of the interesting restrictions put when
vmx is enabled (As Avi mentioned in another mail.).

To debug that code, I used to put some "outb" messages to output a
character to serial console and find out which instructions is creating
trouble. You can debug to find out exactly what operation is not allowed
when vmx is enabled or simply write the patches to disable vmx and it
should automatically lead to problem resolution.


More information about the kexec mailing list