From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43821) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7luQ-0004WC-BB for qemu-devel@nongnu.org; Wed, 14 Mar 2012 06:58:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S7lu1-0003a9-3R for qemu-devel@nongnu.org; Wed, 14 Mar 2012 06:58:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:12608) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7lu0-0003Zs-Rb for qemu-devel@nongnu.org; Wed, 14 Mar 2012 06:57:57 -0400 Date: Wed, 14 Mar 2012 16:27:49 +0530 From: Amit Shah Message-ID: <20120314105749.GF2708@amit.redhat.com> References: <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> <20120314103755.GD2708@amit.redhat.com> <4F607857.50402@cn.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4F607857.50402@cn.fujitsu.com> 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: Wen Congyang Cc: Gleb Natapov , kvm list , Jan Kiszka , "linux-kernel@vger.kernel.org" , qemu-devel , Avi Kivity , KAMEZAWA Hiroyuki On (Wed) 14 Mar 2012 [18:52:07], Wen Congyang wrote: > At 03/14/2012 06:37 PM, Amit Shah Wrote: > > On (Wed) 14 Mar 2012 [17:53:00], 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? > > > > Depends on how you want to use it. It could be the kernel, or it > > could be a userspace program which monitors syslogs for panic > > information and passes on that info to the virtio-serial channel. > > When the kernel is panicked, we cannot use userspace program. > > > > >> 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. > > > > Access control is via permissions. You can have udev scripts assign > > whatever uid and gid to the port of your interest. By default, all > > ports are only accessible to the root user. > > We should also prevent root user writing message to this channel if it is > used for panicked notification. Well, if you want a particular channel to be write-only by the kernel, that can be arranged as well: just don't expose it in /dev/ at all. Amit