From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35905) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S885p-00034u-8c for qemu-devel@nongnu.org; Thu, 15 Mar 2012 06:39:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S885k-0007Tc-8t for qemu-devel@nongnu.org; Thu, 15 Mar 2012 06:39:36 -0400 Received: from mx1.redhat.com ([209.132.183.28]:21480) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S885k-0007TQ-0I for qemu-devel@nongnu.org; Thu, 15 Mar 2012 06:39:32 -0400 Date: Thu, 15 Mar 2012 12:39:23 +0200 From: Gleb Natapov Message-ID: <20120315103923.GL2304@redhat.com> References: <4F60726E.3090807@cn.fujitsu.com> <4F607325.6050607@redhat.com> <20120314104608.GU2304@redhat.com> <4F607789.4010109@redhat.com> <4F607CE4.2060809@cn.fujitsu.com> <4F609822.7050502@redhat.com> <20120314131415.GB2304@redhat.com> <4F609A15.5020902@redhat.com> <20120314132552.GC2304@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH 0/2 v3] kvm: notify host when guest panicked List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Northup Cc: kvm list , Jan Kiszka , qemu-devel , "linux-kernel@vger.kernel.org" , Avi Kivity , Amit Shah , KAMEZAWA Hiroyuki On Wed, Mar 14, 2012 at 11:46:08AM -0700, Eric Northup wrote: > On Wed, Mar 14, 2012 at 6:25 AM, Gleb Natapov wrote: > > > On Wed, Mar 14, 2012 at 03:16:05PM +0200, Avi Kivity wrote: > > > On 03/14/2012 03:14 PM, Gleb Natapov wrote: > > > > On Wed, Mar 14, 2012 at 03:07:46PM +0200, Avi Kivity wrote: > > > > > On 03/14/2012 01:11 PM, Wen Congyang wrote: > > > > > > > > > > > > > > I don't think we want to use the driver. Instead, have a small > > piece of > > > > > > > code that resets the device and pushes out a string (the panic > > message?) > > > > > > > without any interrupts etc. > > > > > > > > > > > > > > It's still going to be less reliable than a hypercall, I agree. > > > > > > > > > > > > Do you still want to use complicated and less reliable way? > > > > > > > > > > Are you willing to try it out and see how complicated it really is? > > > > > > > > > > While it's more complicated, it's also more flexible. You can > > > > > communicate the panic message, whether the guest is attempting a > > kdump > > > > > and its own recovery or whether it wants the host to do it, etc., you > > > > > can communicate less severe failures like oopses. > > > > > > > > > hypercall can take arguments to achieve the same. > > > > > > It has to be designed in advance; and every time we notice something's > > > missing we have to update the host kernel. > > > > > > > We and in the designed stage now. Not to late to design something flexible > > :) Panic hypercall can take GPA of a buffer where host puts panic info > > as a parameter. This buffer can be read by QEMU and passed to management. > > > > If a host kernel change is in the works, I think it might be cleanest to > have the host kernel export a new kind of VCPU exit for unhandled-by-KVM > hypercalls. Then usermode can respond to the hypercall as appropriate. > This would permit adding or changing future hypercalls without host kernel > changes. > There was such vm exit (KVM_EXIT_HYPERCALL), but it was deemed to be a bad idea. > "Guest panic" is almost the definition of not-a-fast-path, and so what's > the reason to handle it in the host kernel. The only "handling" that kernel does is maps hypercall to panic exit. > > Punting to user-space wouldn't be a magic bullet for getting good > interfaces designed, but in my opinion it is a better place to be doing > them. -- Gleb.