From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47889) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wh4Ko-0000ru-AC for qemu-devel@nongnu.org; Sun, 04 May 2014 17:52:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wh4Kf-00012d-6v for qemu-devel@nongnu.org; Sun, 04 May 2014 17:52:34 -0400 Sender: Paolo Bonzini Message-ID: <5366B693.30405@redhat.com> Date: Sun, 04 May 2014 23:52:19 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1394770689-29039-1-git-send-email-aik@ozlabs.ru> <53664719.7060001@ozlabs.ru> In-Reply-To: <53664719.7060001@ozlabs.ru> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/8] spapr: fix IOMMU and XICS/IRQs migration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexey Kardashevskiy , qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, Alexander Graf , =?UTF-8?B?QW5kcmU=?= =?UTF-8?B?YXMgRsOkcmJlcg==?= Il 04/05/2014 15:56, Alexey Kardashevskiy ha scritto: > On 03/14/2014 03:18 PM, Alexey Kardashevskiy wrote: >> This initial problem came form libvirt - it does not preserve >> the device order when running QEMU. So it is easy to get source QEMU with: >> -device spapr-vscsi,id=scsi1,reg=0x2000 -device spapr-vscsi,id=scsi0,reg=0x3000 >> and destination QEMU with: >> -device spapr-vscsi,id=scsi0,reg=0x3000 -device spapr-vscsi,id=scsi1,reg=0x2000 >> >> Since SPAPR IOMMU device does not have a bus, it is identified in >> the migration stream as "spapr-iommu" and @instance_id which is assigned >> as IOMMUs are created. This results in broken migration as @reg does not match. >> The first patch fixes this issue by adding a bus device and a bridge. >> >> However just 1/8 does not fix the migration as device creation order also >> affects IRQs assigned to the devices, for both PCI and VIO. >> 2/7..8/8 fix that by moving XICS IRQ management from SPAPR to XICS and >> implementing migration support for the entire XICS IRQ map. >> >> As we are here, the patchset also prepares XICS to support multiple ICS >> (interrupt servers). >> >> This is a bugfix patchset but it feels too big to go to 2.0, right? :) > > > I understand that the first and last patches of the series are wrong but I > would still like others to get in upstream. How to proceed now? Repost them > all again? Thanks. You are working around a libvirt problem caused by a missing QEMU feature. At least patch 4 is probably unnecessary too. 2/3/5/6/7 (aka what's left) seem sane and likely to remain useful in order to implement the QEMU feature correctly. Paolo