From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56105) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bRyrx-0001CM-HJ for qemu-devel@nongnu.org; Tue, 26 Jul 2016 05:41:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bRyrr-0003JI-Tc for qemu-devel@nongnu.org; Tue, 26 Jul 2016 05:41:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36787) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bRyrr-0003JC-LZ for qemu-devel@nongnu.org; Tue, 26 Jul 2016 05:41:39 -0400 Date: Tue, 26 Jul 2016 11:41:33 +0200 From: Igor Mammedov Message-ID: <20160726114133.3db1e77c@nial.brq.redhat.com> In-Reply-To: <20160726051138.GB27202@grmbl.mre> References: <1469027314-31655-1-git-send-email-ehabkost@redhat.com> <1469027314-31655-27-git-send-email-ehabkost@redhat.com> <20160726051138.GB27202@grmbl.mre> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PULL 26/28] apic: Use apic_id as apic's migration instance_id List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amit Shah Cc: Eduardo Habkost , Peter Maydell , Richard Henderson , qemu-devel@nongnu.org, Paolo Bonzini , fred.konrad@greensocs.com, alistair.francis@xilinx.com, crosthwaite.peter@gmail.com, hyun.kwon@xilinx.competer.maydell@linaro.org On Tue, 26 Jul 2016 10:41:38 +0530 Amit Shah wrote: > On (Wed) 20 Jul 2016 [12:08:32], Eduardo Habkost wrote: > > From: Igor Mammedov > > > > instance_id is generated by last_used_id + 1 for a given device type > > so for QEMU with 3 CPUs instance_id for APICs is a seti of [0, 1, 2] > > When CPU in the middle is hot-removed and migration started > > APICs with instance_ids 0 and 2 are transferred in migration stream. > > However target starts with 2 CPUs and APICs' instance_ids are > > generated from scratch [0, 1] hence migration fails with error > > Unknown savevm section or instance 'apic' 2 > > > > Fix issue by manually registering APIC's vmsd with apic_id as > > instance_id, in this case instance_id on target will always > > match instance_id on source as apic_id is the same for a given > > cpu instance. > > > > Reported-by: Bharata B Rao > > Signed-off-by: Igor Mammedov > > Reviewed-by: Dr. David Alan Gilbert > > Reviewed-by: Michael S. Tsirkin > > Signed-off-by: Eduardo Habkost > > After these patches, the static checker complains about missing > sections: > > Section "apic-common" does not exist in dest > Section "apic" does not exist in dest > Section "kvm-apic" does not exist in dest > > This will break migration from older versions. Still can't reproduce: here is my CLI on SRC: qemu-system-x86_64-v2.6.0 \ -snapshot -enable-kvm -smp 6,maxcpus=6 -m 256M rhel72.img -monitor stdio -M pc-i440fx-2.6 -nodefaults monitor# stop monitor# migrate "exec:gzip -c > STATEFILE.gz" ^C CLI on DST: qemu-system-x86_64-v2.7.0-rc0 \ -snapshot -enable-kvm -smp 6,maxcpus=6 -m 256M rhel72.img -monitor stdio -M pc-i440fx-2.6 -nodefaults -incoming "exec: gzip -c -d STATEFILE.gz" But I've found issue with I2C, which breaks migration for me with: (qemu) qemu-system-x86_64: Missing section footer for i2c_bus qemu-system-x86_64: load of migration failed: Invalid argument Which is bisects to: commit 2293c27faddf9547dd8b52423caa6e85844eec3a Author: KONRAD Frederic Date: Tue Jun 14 15:59:14 2016 +0100 i2c: implement broadcast write hacking migration hunks of it to old VMState fixes I2C issue, and no apic related issues are noticed. > > Amit >