From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40684) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SAPAg-0000ju-DI for qemu-devel@nongnu.org; Wed, 21 Mar 2012 13:18:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SAPAZ-0005js-VF for qemu-devel@nongnu.org; Wed, 21 Mar 2012 13:18:01 -0400 Received: from mx1.redhat.com ([209.132.183.28]:24257) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SAPAZ-0005jh-NR for qemu-devel@nongnu.org; Wed, 21 Mar 2012 13:17:55 -0400 Date: Wed, 21 Mar 2012 17:04:14 +0000 From: "Daniel P. Berrange" Message-ID: <20120321170413.GD3101@redhat.com> References: <4F58664D.1070800@cn.fujitsu.com> <4F66E14F.3040809@cn.fujitsu.com> <4F6854F4.3060703@cn.fujitsu.com> <20120320154517.GG27928@redhat.com> <4F692723.8050904@cn.fujitsu.com> <20120321091127.GO22368@redhat.com> <4F69FF48.3010200@acm.org> <4F6A00EC.3060706@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <4F6A00EC.3060706@redhat.com> Subject: Re: [Qemu-devel] [PATCH 0/2 v3] kvm: notify host when guest panicked Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: minyard@acm.org, Gleb Natapov , Jan Kiszka , qemu-devel , "linux-kernel@vger.kernel.org" , kvm list , Corey Minyard , KAMEZAWA Hiroyuki 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 :|