Thread (34 messages) 34 messages, 11 authors, 2012-08-25

Re: [Qemu-devel] [PATCH v8] kvm: notify host when the guest is panicked

From: Marcelo Tosatti <hidden>
Date: 2012-08-14 15:37:30
Also in: lkml, qemu-devel

On Tue, Aug 14, 2012 at 10:47:48AM +0300, Gleb Natapov wrote:
On Mon, Aug 13, 2012 at 05:24:52PM -0300, Marcelo Tosatti wrote:
quoted
On Mon, Aug 13, 2012 at 01:48:39PM -0600, Eric Blake wrote:
quoted
On 08/13/2012 12:21 PM, Marcelo Tosatti wrote:
quoted
On Wed, Aug 08, 2012 at 10:43:01AM +0800, Wen Congyang wrote:
quoted
We can know the guest is panicked when the guest runs on xen.
But we do not have such feature on kvm.

Another purpose of this feature is: management app(for example:
libvirt) can do auto dump when the guest is panicked. If management
app does not do auto dump, the guest's user can do dump by hand if
he sees the guest is panicked.

We have three solutions to implement this feature:
1. use vmcall
2. use I/O port
3. use virtio-serial.

We have decided to avoid touching hypervisor. The reason why I choose
choose the I/O port is:
1. it is easier to implememt
2. it does not depend any virtual device
3. it can work when starting the kernel
How about searching for the "Kernel panic - not syncing" string 
in the guests serial output? Say libvirtd could take an action upon
that?

Advantages:
- It works for all architectures.
- It does not depend on any virtual device.
But it _does_ depend on a serial console,
Which already exists and is supported.
quoted
 and furthermore requires
libvirt to tee the serial console (right now, libvirt can treat the
console as an opaque pass-through to the end user, but if you expect
libvirt to parse the serial console for a particular string, you've lost
some efficiency).
quoted
- It works as early as serial console output does (panics before
that should be rare).
- It allows you to see why the guest panicked.
I think your arguments for a serial console have already been made and
refuted in earlier versions of this patch series, which is WHY this
series is still applicable.
Refuted why, exactly? Efficiency to parse serial console output in
libvirt should not be a major issue surely?
It is not zero config (guests do not send console output to serial by
default). If vm users want to use serial for its working console panic
notification will trigger every time user examines dmesg with "Kernel
panic - not syncing" in it.
Ok, then it would have to be a dedicated serial console which starts
to become funny.

Use a simple virtio device, then, it starts early enough (or can be made
to) during kernel init for most relevant production panics, and works
for all architectures.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help