From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=42088 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OGtno-0008L8-86 for qemu-devel@nongnu.org; Tue, 25 May 2010 09:04:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OGtnm-0003vi-LT for qemu-devel@nongnu.org; Tue, 25 May 2010 09:04:11 -0400 Received: from e4.ny.us.ibm.com ([32.97.182.144]:50051) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OGtnm-0003vX-Ht for qemu-devel@nongnu.org; Tue, 25 May 2010 09:04:10 -0400 Received: from d01relay03.pok.ibm.com (d01relay03.pok.ibm.com [9.56.227.235]) by e4.ny.us.ibm.com (8.14.3/8.13.1) with ESMTP id o4PCpAPw029596 for ; Tue, 25 May 2010 08:51:10 -0400 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay03.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id o4PD3wWN089980 for ; Tue, 25 May 2010 09:03:58 -0400 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.14.3/8.13.1/NCO v10.0 AVout) with ESMTP id o4PD3wZO026583 for ; Tue, 25 May 2010 10:03:58 -0300 Message-ID: <4BFBCABC.5040707@linux.vnet.ibm.com> Date: Tue, 25 May 2010 08:03:56 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [PATCH v2 12/15] monitor: Add basic device state visualization References: <1f557b9feb1965a61e64f7166bcf4918bed8d0ec.1274516288.git.jan.kiszka@web.de> <4BF82895.6000706@redhat.com> <4BFAE004.6090501@codemonkey.ws> <4BFB7B06.2090005@redhat.com> In-Reply-To: <4BFB7B06.2090005@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: Juan Quintela , Jan Kiszka , qemu-devel@nongnu.org, Luiz Capitulino , Jan Kiszka , Markus Armbruster 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). >