From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:52222) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RDAZa-0007oQ-Pc for qemu-devel@nongnu.org; Mon, 10 Oct 2011 03:46:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RDAZZ-0005Xw-Jf for qemu-devel@nongnu.org; Mon, 10 Oct 2011 03:46:54 -0400 Received: from [222.73.24.84] (port=65021 helo=song.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RDAZY-0005XQ-Ik for qemu-devel@nongnu.org; Mon, 10 Oct 2011 03:46:53 -0400 Message-ID: <4E92A315.9040200@cn.fujitsu.com> Date: Mon, 10 Oct 2011 15:47:33 +0800 From: Wen Congyang MIME-Version: 1.0 References: <4E8ECA91.8040409@cn.fujitsu.com> <4E8ED167.1000705@siemens.com> <20111008151622.GA17181@amd.home.annexia.org> <4E916035.5050906@web.de> <20111009102338.GN16799@amd.home.annexia.org> <4E92568E.2010507@cn.fujitsu.com> <4E929618.4040403@web.de> <4E9297CB.8010303@cn.fujitsu.com> <4E929848.6030105@web.de> <4E929BFC.20406@cn.fujitsu.com> <4E929D38.5050008@web.de> In-Reply-To: <4E929D38.5050008@web.de> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [Question] dump memory when host pci device is used by guest List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Luiz Capitulino , "Richard W.M. Jones" , qemu-devel At 10/10/2011 03:22 PM, Jan Kiszka Write: > On 2011-10-10 09:17, Wen Congyang wrote: >> At 10/10/2011 03:01 PM, Jan Kiszka Write: >>> On 2011-10-10 08:59, Wen Congyang wrote: >>>> At 10/10/2011 02:52 PM, Jan Kiszka Write: >>>>> On 2011-10-10 04:21, Wen Congyang wrote: >>>>>> At 10/09/2011 06:23 PM, Richard W.M. Jones Write: >>>>>>> On Sun, Oct 09, 2011 at 10:49:57AM +0200, Jan Kiszka wrote: >>>>>>>> As explained in the other replies: It is way more future-proof to = use an >>>>>>>> interface for this which was designed for it (remote gdb) instead = of >>>>>>>> artificially relaxing reasonable constraints of the migration mech= anism >>>>>>>> plus having to follow that format with the post-processing tool. >>>>>>> >>>>>>> Any interface that isn't "get this information off my production >>>>>>> server *now*" so that I can get the server restarted, and send it to >>>>>>> an expert to analyse -- is a poor interface, whether it was designed >>>>>>> like that or not. Perhaps we don't have the right interface at all, >>>>>>> but remote gdb is not it. >>>>>> >>>>>> What about the following idea? >>>>>> >>>>>> Introduce a new monitor command named dump, and this command accepts= a filename. >>>>>> We can use almost all migration's code. We use this command to dump = guest's >>>>>> memory, so there is no need to check whether the guest has a unmigra= table device. >>>>> >>>>> I do not want to reject this proposal categorically, but I would like= to >>>>> see the gdb path fail /wrt essential requirements first. So far I don= 't >>>>> see it would. >>>> >>>> =91gdb path fail /wrt essential requirements=92 >>>> >>>> what does it mean? >>> >>> That you explain why reading reading memory and processor states via the >>> remote gdb interface and dumping it into a proper core file cannot be >>> made working for you. >> >> First, I think crash can not analyze such core file. But it is not very = important. >> >> What is remote gdb interface? >=20 > man qemu -> gdb. >=20 >> Do you mean that: the supporter uses gdb from another machine >=20 > Or locally. There are various transports possible. >=20 >> to connect to customer's machine and get the data? If so, this way can n= ot be >> used when the customer needs to dump the guest's memory automatically wh= en watchdog timeouts. >=20 > It is just another channel that can conceptually be used like the > monitor, by a management app like libvirt, directly or indirectly via a > scripted gdb frontend, or also by a human who wants to save some ongoing > gdb session for later analysis. This dual use make such an approach the > preferred one. Is the following is right? 1. execute the monitor command 'gdbserver' 2. run gdb and then 'target remote :1234' But, unfortunately, the monitor command gdbserver does not exit when we use= json to connect to monitor. Thanks Wen Congyang >=20 > Jan >=20