From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:34795) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uhy3v-0003Nu-Dj for qemu-devel@nongnu.org; Thu, 30 May 2013 04:18:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Uhy3q-00081Q-Pj for qemu-devel@nongnu.org; Thu, 30 May 2013 04:18:19 -0400 Received: from mail-ie0-x229.google.com ([2607:f8b0:4001:c03::229]:48557) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uhy3q-0007zH-Jo for qemu-devel@nongnu.org; Thu, 30 May 2013 04:18:14 -0400 Received: by mail-ie0-f169.google.com with SMTP id u16so28203670iet.0 for ; Thu, 30 May 2013 01:18:13 -0700 (PDT) Message-ID: <51A70B3D.90609@ozlabs.ru> Date: Thu, 30 May 2013 18:18:05 +1000 From: Alexey Kardashevskiy MIME-Version: 1.0 References: <51A7036A.3050407@ozlabs.ru> <51A7049F.6040207@redhat.com> In-Reply-To: <51A7049F.6040207@redhat.com> Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] broken incoming migration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Peter Lieven , "qemu-ppc@nongnu.org" , "qemu-devel@nongnu.org" , David Gibson On 05/30/2013 05:49 PM, Paolo Bonzini wrote: > Il 30/05/2013 09:44, Alexey Kardashevskiy ha scritto: >> Hi! >> >> I found the migration broken on pseries platform, specifically, this patch >> broke it: >> >> f1c72795af573b24a7da5eb52375c9aba8a37972 >> migration: do not sent zero pages in bulk stage >> >> The idea is not to send zero pages to the destination guest which is >> expected to have 100% empty RAM. >> >> However on pseries plaftorm the guest always has some stuff in the RAM as a >> part of initialization (device tree, system firmware and rtas (?)) so it is >> not completely empty. As the source guest cannot detect this, it skips some >> pages during migration and we get a broken destination guest. Bug. >> >> While the idea is ok in general, I do not see any easy way to fix it as >> neither QEMUMachine::init nor QEMUMachine::reset callbacks has information >> about whether we are about to receive a migration or not (-incoming >> parameter) and we cannot move device-tree and system firmware >> initialization anywhere else. >> >> ram_bulk_stage is static and cannot be disabled from the platform >> initialization code. >> >> So what would the community suggest? > > Revert the patch. :) I'll wait for 24 hours (forgot to cc: the author) and then post a revert patch :) -- Alexey