From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44068) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5CKc-0003px-UD for qemu-devel@nongnu.org; Wed, 17 Jun 2015 08:20:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z5CKY-00027N-VI for qemu-devel@nongnu.org; Wed, 17 Jun 2015 08:20:38 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41078) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5CKY-00027G-Qk for qemu-devel@nongnu.org; Wed, 17 Jun 2015 08:20:34 -0400 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 759B33702FD for ; Wed, 17 Jun 2015 12:20:34 +0000 (UTC) Message-ID: <5581660E.2090807@redhat.com> Date: Wed, 17 Jun 2015 14:20:30 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1434480849-23093-1-git-send-email-dgilbert@redhat.com> <558124BD.8010807@redhat.com> <20150617094829-mutt-send-email-mst@redhat.com> <55812BC4.3000600@redhat.com> <20150617121148-mutt-send-email-mst@redhat.com> <55815B06.5030508@redhat.com> <20150617133816-mutt-send-email-mst@redhat.com> <55815FA7.3070205@redhat.com> <20150617135340-mutt-send-email-mst@redhat.com> <55816039.3080103@redhat.com> <20150617135716-mutt-send-email-mst@redhat.com> In-Reply-To: <20150617135716-mutt-send-email-mst@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] Migration compatibility for serial List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: amit.shah@redhat.com, qemu-devel@nongnu.org, "Dr. David Alan Gilbert (git)" , quintela@redhat.com On 17/06/2015 13:58, Michael S. Tsirkin wrote: > > No, it doesn't. The guest misbehaves maybe, but the migration format= is > > not affected. >=20 > I just tried, set prog_if to different values, sure it failed. How so? It's just a byte in config space. But even then, fixing migration is just a side effect of keeping config space consistent for a given machine type (i.e. not changing hardware type under the guest's fee= t). > Here's another one, at random: >=20 > Author: Michael S. Tsirkin > Date: Thu Feb 14 19:11:27 2013 +0200 >=20 > e1000: unbreak the guest network migration to 1.3 > =20 > QEMU 1.3 does not emulate the link auto negotiation, so if migrate = to a > 1.3 machine during link auto negotiation, the guest link will be se= t to down. > Fix this by just disabling auto negotiation for 1.3 and older. > =20 > Signed-off-by: Michael S. Tsirkin Okay, that's an interesting one, and there's a similar one for e1000 interrupt mitigation. The interesting point is that in both cases the bug compatibility extends to other behavior of the device, i.e. more than just migration. I would even say that bug-compatibility of migration is just a side effect, not the primary end. For interrupt mitigation, it was not enabled on older machine types in the first place, because it could break guests. Keeping backwards migration working was just a side effect; simply, checking "s->compat_flags & E1000_FLAG_MIT" is the only sensible way to write e1000_mit_state_needed. Auto negotiation should have been done the same way, which is what your patch did. Paolo