qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]