[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] intel_iommu: fix migration breakage on mr switc
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [PATCH] intel_iommu: fix migration breakage on mr switch |
Date: |
Fri, 30 Jun 2017 14:30:02 +0800 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Thu, Jun 29, 2017 at 04:35:04PM +0300, Michael S. Tsirkin wrote:
> On Thu, Jun 29, 2017 at 12:26:57PM +0800, Peter Xu wrote:
> > Migration is broken after the vfio integration work:
> >
> > qemu-kvm: AHCI: Failed to start FIS receive engine: bad FIS receive buffer
> > address
> > qemu-kvm: Failed to load ich9_ahci:ahci
> > qemu-kvm: error while loading state for instance 0x0 of device
> > '0000:00:1f.2/ich9_ahci'
> > qemu-kvm: load of migration failed: Operation not permitted
> >
> > The problem is that vfio work introduced dynamic memory region
> > switching (actually it is also used for future PT mode), and this memory
> > region layout is not properly delivered to destination when migration
> > happens. Solution is to rebuild the layout in post_load.
> >
> > Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1459906
> > Fixes: 558e0024 ("intel_iommu: allow dynamic switch of IOMMU region")
> > Signed-off-by: Peter Xu <address@hidden>
> > ---
> > hw/i386/intel_iommu.c | 17 +++++++++++++++++
> > 1 file changed, 17 insertions(+)
> >
> > diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> > index a9b59bd..36b231d 100644
> > --- a/hw/i386/intel_iommu.c
> > +++ b/hw/i386/intel_iommu.c
> > @@ -2332,11 +2332,28 @@ static void
> > vtd_iommu_notify_flag_changed(MemoryRegion *iommu,
> > }
> > }
> >
> > +static int vtd_post_load(void *opaque, int version_id)
> > +{
> > + IntelIOMMUState *iommu = opaque;
> > +
> > + /*
> > + * Since commit 558e00 ("intel_iommu: allow dynamic switch of
> > + * IOMMU region"),
>
> I would drop this part of the comment. It isn't of interest
> to people reading code directly, while people reading git
> history see the commit log.
Ok. Will resend. Thanks.
--
Peter Xu