Re: [PATCH 0/2 v3] kvm: notify host when guest panicked

From: Daniel P. Berrange
Date: Wed Mar 21 2012 - 13:18:06 EST


On Wed, Mar 21, 2012 at 06:25:16PM +0200, Avi Kivity wrote:
> On 03/21/2012 06:18 PM, Corey Minyard wrote:
> >
> >> Look at drivers/char/ipmi/ipmi_msghandler.c. It has code to send panic
> >> event over IMPI. The code is pretty complex. Of course if we a going to
> >> implement something more complex than simple hypercall for panic
> >> notification we better do something more interesting with it than just
> >> saying "panic happened", like sending stack traces on all cpus for
> >> instance.
> >
> > I doubt that's the best example, unfortunately. The IPMI event log
> > has limited space and it has to be send a little piece at a time since
> > each log entry is 14 bytes. It just prints the panic string, nothing
> > else. Not that it isn't useful, it has saved my butt before.
> >
> > You have lots of interesting options with paravirtualization. You
> > could, for instance, create a console driver that delivered all
> > console output efficiently through a hypercall. That would be really
> > easy. Or, as you mention, a custom way to deliver panic information.
> > Collecting information like stack traces would be harder to
> > accomplish, as I don't think there is currently a way to get it except
> > by sending it to printk.
>
> That already exists; virtio-console (or serial console emulation) can do
> the job.
>
> In fact the feature can be implemented 100% host side by searching for a
> panic string signature in the console logs.

You can even go one better and search for the panic string in the
guest memory directly, which is what virt-dmesg does :-)

http://people.redhat.com/~rjones/virt-dmesg/

Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
--
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/