From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43571) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1St2Mi-0003Yv-OM for qemu-devel@nongnu.org; Sun, 22 Jul 2012 16:02:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1St2Mh-0002xT-LD for qemu-devel@nongnu.org; Sun, 22 Jul 2012 16:02:56 -0400 Received: from mail-bk0-f45.google.com ([209.85.214.45]:49401) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1St2Mh-0002xK-Ec for qemu-devel@nongnu.org; Sun, 22 Jul 2012 16:02:55 -0400 Received: by bkcji1 with SMTP id ji1so3894989bkc.4 for ; Sun, 22 Jul 2012 13:02:54 -0700 (PDT) Message-ID: <500C5C91.3060505@gmail.com> Date: Sun, 22 Jul 2012 22:03:29 +0200 From: Sasha Levin MIME-Version: 1.0 References: <500A565A.8080403@cn.fujitsu.com> <500A6BF1.4030002@cn.fujitsu.com> <500BE68D.90005@gmail.com> <87wr1vwquz.fsf@codemonkey.ws> In-Reply-To: <87wr1vwquz.fsf@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v7.5] kvm: notify host when the guest is panicked List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Gleb Natapov , Jan Kiszka , rusty@rustcorp.com.au, qemu-devel , "linux-kernel@vger.kernel.org" , Avi Kivity , kvm list , KAMEZAWA Hiroyuki On 07/22/2012 09:14 PM, Anthony Liguori wrote: > Sasha Levin writes: > >> On 07/21/2012 10:44 AM, 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 >> >> Was the option of implementing a virtio-watchdog driver considered? >> >> You're basically re-implementing a watchdog, a guest-host interface and a set of protocols for guest-host communications. >> >> Why can't we re-use everything we have now, push a virtio watchdog >> driver into drivers/watchdog/, and gain a more complete solution to >> detecting hangs inside the guest. > > The purpose of virtio is not to reinvent every possible type of device. > There are plenty of hardware watchdogs that are very suitable to be used > for this purpose. QEMU implements quite a few already. > > Watchdogs are not performance sensitive so there's no point in using > virtio. The issue here is not performance, but the adding of a brand new guest-host interface. virtio-rng isn't performance sensitive either, yet it was implemented using virtio so there wouldn't be yet another interface to communicate between guest and host. This patch goes ahead to add a "arch pv features" interface using ioports, without any idea what it might be used for beyond this watchdog.