Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-devel

Re: [Xen-devel] Live migration with MMIO pages

To: Kieran Mansley <kmansley@xxxxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Live migration with MMIO pages
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Wed, 31 Oct 2007 14:08:59 +0000
Delivery-date: Wed, 31 Oct 2007 07:09:45 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1193839433.4094.36.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acgbx5Tc07TWWoe6EdyB3QAX8io7RQ==
Thread-topic: [Xen-devel] Live migration with MMIO pages
User-agent: Microsoft-Entourage/11.3.6.070618
On 31/10/07 14:03, "Kieran Mansley" <kmansley@xxxxxxxxxxxxxx> wrote:

> The symptom of failure is that once live migration has started, trying
> to write to an IO page results in it getting stuck in (or a perpetual
> loop into) page_fault().  This only happens very occasionally.  I've
> interpreted it getting stuck in page_fault() as a result of the shadow
> paging which (as I understand it) marks the normal page table entries as
> read only so that writes to pages trap into the hypervisor and it can
> update its dirty set.

Yes, but then it should mark the page writable again, so that the access can
be re-executed without faulting! So this rather points at some problem with
the live-migration shadow mode w.r.t. mmio pages. You're going to have to
fix this regardless of whether you prevent xc_domain_save from mapping mmio
pages (which isn't itself a bad idea, for the reasons you note). This is
because, regardless of whether xc_domain_save ignores mmio pages, that isn't
going to change the shadow code's behaviour, and it's almost certainly that
which is causing the infinite fault loop.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel