qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: [PATCH v2 12/15] monitor: Add basic device state vi


From: Anthony Liguori
Subject: Re: [Qemu-devel] Re: [PATCH v2 12/15] monitor: Add basic device state visualization
Date: Tue, 25 May 2010 08:03:56 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091209 Fedora/3.0-4.fc12 Lightning/1.0pre Thunderbird/3.0

On 05/25/2010 02:23 AM, Avi Kivity wrote:
On 05/24/2010 11:22 PM, Anthony Liguori wrote:
This converts the entire qdev tree into an undocumented stable protocol (the qdev paths were already in this state I believe). This really worries me.


N.B. the association with qdev is only in identifying the device. The contents of the device's state are not part of qdev but rather part of vmstate. vmstate is something that we already guarantee to be stable since that's required for live migration compatibility.

That removes out ability to deprecate older vmstate as time passes. Not a blocker but something to consider.

I don't think that qdev device names and paths are something we have to worry much about changing over time since they reflect logical bus layout. They should remain static provided the devices remain static.

Modulo mistakes. We already saw one (lack of pci domains). To reduce the possibility of mistakes, we need reviewable documentation.

pci domains was only a mistake as a nice-to-have. We can add pci domains in a backwards compatible way.

The arguments you're making about the importance of backwards compatibility and what's needed to strongly guarantee it are equally applicable to the live migration protocol. We really do need to formally document the live migration protocol in such a way that it's reviewable if we hope to truly make it compatible across versions.

Regards,

Anthony Liguori

Note sysfs had similar assumptions and problems.

The qdev properties are a different matter entirely. A command like 'info qdm' would be potentially difficult to support as part of QMP but the proposed command's output is actually already part of a backward compatible interface (vmstate).

That's all good. But documentation is critical for this. Not only to improve quality, but also so that tool authors would have something to code against instead of trial and error (which invariably misses some corner cases).





reply via email to

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