From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: live migration question Date: Tue, 31 Jan 2012 12:56:37 +0000 Message-ID: References: <4F27E1CE.6080100@ts.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4F27E1CE.6080100@ts.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Juergen Gross , Jan Beulich Cc: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org On 31/01/2012 12:42, "Juergen Gross" wrote: >> I've made an additional test using xm save/xm restore to see if the same >> problem shows up. It does NOT. Mapping succeeds at once while restoring >> memory is still running. I always thought xm restore and live migration on >> the target machine are more or less the same. This seems not to be true. > > Okay, here are my results (so far): > > do_mmu_update() calls mod_l1_entry() which fails with -EINVAL due to an > invalid mfn and p2m-type == 4 returned by: > > mfn_x(gfn_to_mfn(pg_dom, l1e_get_pfn(nl1e), &p2mt)) > > I still don't see why xc_restore is able to do the mapping while my daemon is > not. And I can't find any difference between a domain creation due to > xm restore and a live migration. Memory pages are populated as they appear in the migration data stream. Perhaps you are trying to map a guest page that has simply not yet been allocated. Bear in mind that IOCTL_PRIVCMD_MMAPBATCH_V2 will note, but proceed past, failed individual mappings. While IOCTL_PRIVCMD_MMAP, for example, will fail the entire ioctl() in that situation. There's a reason that xc_restore uses the former ioctl! -- Keir