qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [Question] dump memory when host pci device is used by


From: Jan Kiszka
Subject: Re: [Qemu-devel] [Question] dump memory when host pci device is used by guest
Date: Mon, 10 Oct 2011 09:48:46 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

On 2011-10-10 09:47, Wen Congyang wrote:
> 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 
>>>>>>>>> mechanism
>>>>>>>>> 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 
>>>>>>> unmigratable 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.
>>>>>
>>>>> ‘gdb path fail /wrt essential requirements’
>>>>>
>>>>> 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?
>>
>> man qemu -> gdb.
>>
>>> Do you mean that: the supporter uses gdb from another machine
>>
>> Or locally. There are various transports possible.
>>
>>> to connect to customer's machine and get the data? If so, this way can not 
>>> be
>>> used when the customer needs to dump the guest's memory automatically when 
>>> watchdog timeouts.
>>
>> 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'

Yep.

> 
> But, unfortunately, the monitor command gdbserver does not exit when we use 
> json to connect to monitor.

You mean via human-monitor-command (gdbserver is not a qmp command)?
Would be a bug.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]