On Tue, Aug 14, 2012 at 12:29:38PM -0300, Marcelo Tosatti wrote: > 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: > > > On Mon, Aug 13, 2012 at 01:48:39PM -0600, Eric Blake wrote: > > > > On 08/13/2012 12:21 PM, Marcelo Tosatti wrote: > > > > > On Wed, Aug 08, 2012 at 10:43:01AM +0800, Wen Congyang wrote: > > > > >> 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. > > > > > > > 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). > > > > > > > > > - 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. > We do have support for many virtio-serial channels. > 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. The only downside of using dedicated virtio-serial channel that I can see is that to catch early panic all of the virtio should be compiled in. -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html