From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:44231) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QoP4J-0000Da-Pj for qemu-devel@nongnu.org; Tue, 02 Aug 2011 20:12:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QoP4I-00088R-Cj for qemu-devel@nongnu.org; Tue, 02 Aug 2011 20:12:15 -0400 Received: from e37.co.us.ibm.com ([32.97.110.158]:37013) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QoP4I-000887-6y for qemu-devel@nongnu.org; Tue, 02 Aug 2011 20:12:14 -0400 Received: from d03relay03.boulder.ibm.com (d03relay03.boulder.ibm.com [9.17.195.228]) by e37.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p730933R032045 for ; Tue, 2 Aug 2011 18:09:03 -0600 Received: from d03av04.boulder.ibm.com (d03av04.boulder.ibm.com [9.17.195.170]) by d03relay03.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p730C9o5176404 for ; Tue, 2 Aug 2011 18:12:09 -0600 Received: from d03av04.boulder.ibm.com (loopback [127.0.0.1]) by d03av04.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p72IC8vq007439 for ; Tue, 2 Aug 2011 12:12:08 -0600 Message-ID: <4E389258.6040007@us.ibm.com> Date: Tue, 02 Aug 2011 19:12:08 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1312326516-10117-1-git-send-email-aliguori@us.ibm.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] migration: remove subsections in fdc and rtl8139 and bump versions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: quintela@redhat.com Cc: Paolo Bonzini , qemu-devel@nongnu.org On 08/02/2011 06:25 PM, Juan Quintela wrote: > Anthony Liguori wrote: >> As Paolo points out, the migration protocol is ambiguous when using subsections >> today. That means that even if we preserve subsections and change the protocol >> accordingly, the old protocol w/subsections is still ambiguous. >> >> Remove subsection usage and bump any device using subsections. This effectively >> eliminates the amiguouity and allows for a clean transition to a new protocol >> with unambiguous subsections. > > If you are doing that, you can just remove the old protocol altogether. The fundamental problem is that newer QEMUs generate migration state that is ambiguous to older QEMUs. No matter what, we have to change the migration protocol in some way as to make it impossible to migrate from newer QEMUs to older QEMUs. Even with subsections in the older protocol, newer QEMUs (provided we don't add more subsections), can still read the old protocol. Paolo's proposed changes make newer QEMUs use a new protocol. It's still possible to read the older protocol. This means that you can't migrate new to old, but can migrate old to new. I've poured over these patches in great detail and the changes are just too much right now. Just the ram_addr_t change which now conflicts has a non-trivial resolution due to a related Xen change. So my thinking is to be a bit more conservative. If we bump the version number for 0.15.0, we make sure that we don't allow new -> old migration. We will break old -> new migration, but we can fix that (including in the stable series) by adding special handling of the previous version. Fixing new->old is the critical bit here. We can resolve old->new as a stable update. > You are missing also ide on your patch. Thanks for catching that. > Only platform that > ever cares about forward compatiblity is pc's. And pc's always use > floppies on qemu. > > I still think that improving the "subsection" match is the way to go for 0.15. This series was just too late for 0.15. I can close to suggesting that we delay 0.15 in order to give this time to be tested thoroughly but I think my proposal is a reasonable compromise. Regards, Anthony Liguori > > Later, Juan. > >