From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51359) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwXWo-00036N-GN for qemu-devel@nongnu.org; Wed, 11 Nov 2015 10:42:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZwXVh-00088F-T9 for qemu-devel@nongnu.org; Wed, 11 Nov 2015 10:41:42 -0500 Received: from mx1.redhat.com ([209.132.183.28]:58131) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwXVh-00087X-MY for qemu-devel@nongnu.org; Wed, 11 Nov 2015 10:40:33 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id 4F3C68F27C for ; Wed, 11 Nov 2015 15:40:33 +0000 (UTC) References: <1446791754-23823-1-git-send-email-eblake@redhat.com> <1446791754-23823-30-git-send-email-eblake@redhat.com> <871tbzdwol.fsf@blackfin.pond.sub.org> <5642AD0E.9050003@redhat.com> <871tbwhm80.fsf@blackfin.pond.sub.org> From: Eric Blake Message-ID: <56436170.3000300@redhat.com> Date: Wed, 11 Nov 2015 08:40:32 -0700 MIME-Version: 1.0 In-Reply-To: <871tbwhm80.fsf@blackfin.pond.sub.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="VCRmVchnItrFbMwmSm2JdpRlrRpL2GASO" Subject: Re: [Qemu-devel] [PATCH v10 29/30] cpu: Convert CpuInfo into flat union List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: Paolo Bonzini , qemu-devel@nongnu.org, Luiz Capitulino This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --VCRmVchnItrFbMwmSm2JdpRlrRpL2GASO Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 11/11/2015 03:19 AM, Markus Armbruster wrote: >>> Do we need this to make 2.5? >> >> It's true that the introspection will change (instead of seeing flat >> optional members, you now have to chase down variants). But I don't >> think it is pressing enough to rush into 2.5; the change is >> backwards-compatible no matter when we do it, and introspection client= s >> are going to have to get used to the idea of chasing down different >> paths to find all members of a struct (that is, if we don't change thi= s >> until 2.6, I'm sure it won't be the last case of introspection changin= g >> while keeping QMP wire format back-compatible as formerly non-variant >> fields become variant). >=20 > We can mess with the schema as long as the QMP wire format stays > compatible. >=20 > With introspection, schema changes get exposed in QMP that weren't > exposed before. Begs the question whether the ABI promise extends to > the introspection value. >=20 > I think we don't want to extend it, at least for now. In other words, > we refuse to put additional constraints on schema changes to keep the > introspection value stable. Makes introspection a bit harder to use. > Not ideal, but better than committing to constraints we don't even full= y > understand, yet. >=20 > I think we should spell this out introspection documentation. Sounds like I need to prep a doc patch for 2.5 then. >=20 > Our only example so far is converting between optional members and flat= > unions. Can we think of others? Hmm, you found one below. Converting from optional non-variant to variant, converting from string to enum, converting from single type to alternate. Might be other conversions, and the set of conversions for input types may differ from those of output conversions. > Okay. I guess finding all the examples that matter may take a few > development cycles. Perhaps we want to commit to some additional > compatibility promises for introspection then. Maybe, but until clients are no longer worried about older clients, it may be several years before taking advantage of whatever we later document (as it is, upstream libvirt is just now bumping minimum qemu support up to 0.12 [thanks to RHEL 6] and discarding older qemu from RHEL 5 - quite a few years behind upstream qemu 2.5, although it is finding a lot of code in libvirt that is no longer necessary). --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --VCRmVchnItrFbMwmSm2JdpRlrRpL2GASO Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJWQ2FwAAoJEKeha0olJ0NqbXcH/0RhFo+UkqElpDbpiOUyyevS w5CaDdf5Axkp2VGbVPlFpouDjlIc9jR/Hj0wO6+OGZmbN0JLiw3owneOaYYYpw6a D45MeVYVuDT8enBbezwb2ncpIDJQ8KFiBK0SW6hFY00ffs4mLsPG1DN/VDKeiZTX hwCpZsK32lwWFAAhR0Zr2/EAKLxHSQWOmfhW2xP+o4hSayE+6rd1eKEMfeNmjJKC q0jvgOXdXBGhTiz+q4mGQtyM94nWxtEoeifGO4vMvHgWwKkEPOi5eaRohbXvnRyv lANKzvCfLpffbA1hj2HZ7seoNn1a6H2WQDDuQreEV7UG7DkGqJOz6iKjQXPLYdw= =/qoU -----END PGP SIGNATURE----- --VCRmVchnItrFbMwmSm2JdpRlrRpL2GASO--