From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:32996) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7lOT-0001O9-IQ for qemu-devel@nongnu.org; Wed, 14 Mar 2012 06:25:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S7lOD-0004aT-Bs for qemu-devel@nongnu.org; Wed, 14 Mar 2012 06:25:21 -0400 Received: from [222.73.24.84] (port=31038 helo=song.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7lOD-0004Um-03 for qemu-devel@nongnu.org; Wed, 14 Mar 2012 06:25:05 -0400 Message-ID: <4F60726E.3090807@cn.fujitsu.com> Date: Wed, 14 Mar 2012 18:26:54 +0800 From: Wen Congyang MIME-Version: 1.0 References: <4F58664D.1070800@cn.fujitsu.com> <4F58943E.1050402@redhat.com> <4F595B31.9090301@cn.fujitsu.com> <4F5DBC26.7060204@cn.fujitsu.com> <4F5DD0FD.9070904@redhat.com> <20120313091843.GB3800@redhat.com> <4F5F25BF.7060100@redhat.com> <4F6056FE.3020202@cn.fujitsu.com> <4F6063C8.8010005@redhat.com> <4F606A7C.9090900@cn.fujitsu.com> <4F606DCC.3020908@redhat.com> In-Reply-To: <4F606DCC.3020908@redhat.com> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=UTF-8 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: Avi Kivity Cc: Gleb Natapov , kvm list , Jan Kiszka , qemu-devel , "linux-kernel@vger.kernel.org" , Amit Shah , KAMEZAWA Hiroyuki At 03/14/2012 06:07 PM, Avi Kivity Wrote: > On 03/14/2012 11:53 AM, Wen Congyang wrote: >> At 03/14/2012 05:24 PM, Avi Kivity Wrote: >>> On 03/14/2012 10:29 AM, Wen Congyang wrote: >>>> At 03/13/2012 06:47 PM, Avi Kivity Wrote: >>>>> On 03/13/2012 11:18 AM, Daniel P. Berrange wrote: >>>>>> On Mon, Mar 12, 2012 at 12:33:33PM +0200, Avi Kivity wrote: >>>>>>> On 03/12/2012 11:04 AM, Wen Congyang wrote: >>>>>>>> Do you have any other comments about this patch? >>>>>>>> >>>>>>> >>>>>>> Not really, but I'm not 100% convinced the patch is worthwhile. It's >>>>>>> likely to only be used by Linux, which has kexec facilities, and you can >>>>>>> put talk to management via virtio-serial and describe the crash in more >>>>>>> details than a simple hypercall. >>>>>> >>>>>> As mentioned before, I don't think virtio-serial is a good fit for this. >>>>>> We want something that is simple & guaranteed always available. Using >>>>>> virtio-serial requires significant setup work on both the host and guest. >>>>> >>>>> So what? It needs to be done anyway for the guest agent. >>>>> >>>>>> Many management application won't know to make a vioserial device available >>>>>> to all guests they create. >>>>> >>>>> Then they won't know to deal with the panic event either. >>>>> >>>>>> Most administrators won't even configure kexec, >>>>>> let alone virtio serial on top of it. >>>>> >>>>> It should be done by the OS vendor, not the individual admin. >>>>> >>>>>> The hypercall requires zero host >>>>>> side config, and zero guest side config, which IMHO is what we need for >>>>>> this feature. >>>>> >>>>> If it was this one feature, yes. But we keep getting more and more >>>>> features like that and we bloat the hypervisor. There's a reason we >>>>> have a host-to-guest channel, we should use it. >>>>> >>>> >>>> I donot know how to use virtio-serial. >>> >>> I don't either, copying Amit. >>> >>>> I start vm like this: >>>> qemu ...\ >>>> -device virtio-serial \ >>>> -chardev socket,path=/tmp/foo,server,nowait,id=foo \ >>>> -device virtserialport,chardev=foo,name=port1 ... >>>> >>>> You said that there are too many channels. Does it mean /tmp/foo is a channel? >>> >>> Probably. >> >> Hmm, if we use virtio-serial, the guest kernel writes something into the channel when >> the os is panicked. Is it right? > > Right. > >> If so, is this channel visible to guest userspace? If the channle is visible to guest >> userspace, the program running in userspace may write the same message to the channel. >> > > Surely there's some kind of access control on channels. The virtio-serial depends on more things than touching the hypervisor. So I think touching the hypervisor is more reliable than using virtio-serial device, and it is very simple and easy to use. If we pass something from guest userspace to host, we can use virtio-serial. But If we pass something from guest kernelspace to host, I still prefer to touch the hypervisor. Thanks Wen Congyang