I''m seeing a fairly frequent problem when trying to save paravirt domains. xc_save is failing, and logging the following error: (XendCheckpoint:349) ERROR Internal error: Frame# in pfn-to-mfn frame list is not in pseudophys (XendCheckpoint:349) ERROR Internal error: entry 206848: p2m_frame_list[404] is 0x0 (XendCheckpoint:349) ERROR Internal error: Failed to map/save the p2m frame list Save/restore of fullyvirt on the same box is working pretty well. Anyone have ideas on what the error message might be trying to tell me.... ? I''m attaching the xend.log & the guest config from xm list --long The host is running 3.0.5 rc3 HV, and 3.0.5 rc4 userspace & arch is x86_64 I don''t see anything between rc3 & rc4 HV that is explicitly addressing PV save failures, but doing a new build to check that anyway. Regards, Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=| _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
>I''m seeing a fairly frequent problem when trying to save paravirt domains. >xc_save is failing, and logging the following error: > >(XendCheckpoint:349) ERROR Internal error: Frame# in pfn-to-mfn frame list isnot in pseudophys>(XendCheckpoint:349) ERROR Internal error: entry 206848: p2m_frame_list[404] is 0x0>(XendCheckpoint:349) ERROR Internal error: Failed to map/save the p2m frame list> >Save/restore of fullyvirt on the same box is working pretty well. Anyone >have ideas on what the error message might be trying to tell me.... ?Looks like you''re running off the top of the p2m ; your domain has 800Mb ''maxmem'' and hence should have a p2m covering 800 + 8 (slack) = 808Mb. However entry 206868 is for the physical page just beyond that. Can you check the value you''re getting for p2m_size in xc_domain_save.c, e.g. apply the following? diff -r d79436447a05 tools/libxc/xc_domain_save.c --- a/tools/libxc/xc_domain_save.c Fri Apr 27 16:17:54 2007 +0100 +++ b/tools/libxc/xc_domain_save.c Tue May 01 13:46:26 2007 +0100 @@ -871,6 +871,7 @@ int xc_domain_save(int xc_handle, int io /* Get the size of the P2M table */ p2m_size = xc_memory_op(xc_handle, XENMEM_maximum_gpfn, &dom) + 1; + DPRINTF("DBG - got size of p2m table as %ld\n", p2m_size); /* Domain is still running at this point */ if ( live ) cheers, S. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 1/5/07 13:47, "Steven Hand" <Steven.Hand@cl.cam.ac.uk> wrote:> Looks like you''re running off the top of the p2m ; your domain has 800Mb > ''maxmem'' and hence should have a p2m covering 800 + 8 (slack) = 808Mb. > However entry 206868 is for the physical page just beyond that. > > Can you check the value you''re getting for p2m_size in xc_domain_save.c, > e.g. apply the following?And is your Xen precisely matched against libxc? I fixed XENMEM_maximum_gpfn to really return the last gpfn known to the guest, rather than the last plus one. Hence we now add one to that value to get p2m_size in xc_domain_save(). But if this fixed xc_domain_save() was run against older Xen, you would have p2m_size too big by one. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Daniel P. Berrange
2007-May-01 13:04 UTC
Re: [Xen-devel] 3.0.5 rc3 paravirt save failures ?
On Tue, May 01, 2007 at 02:01:45PM +0100, Keir Fraser wrote:> On 1/5/07 13:47, "Steven Hand" <Steven.Hand@cl.cam.ac.uk> wrote: > > > Looks like you''re running off the top of the p2m ; your domain has 800Mb > > ''maxmem'' and hence should have a p2m covering 800 + 8 (slack) = 808Mb. > > However entry 206868 is for the physical page just beyond that. > > > > Can you check the value you''re getting for p2m_size in xc_domain_save.c, > > e.g. apply the following? > > And is your Xen precisely matched against libxc? I fixed XENMEM_maximum_gpfn > to really return the last gpfn known to the guest, rather than the last plus > one. Hence we now add one to that value to get p2m_size in xc_domain_save(). > But if this fixed xc_domain_save() was run against older Xen, you would have > p2m_size too big by one.Ahh, that could well be the problem. It looks like my HV / libxc are just straddling your changeset :-( Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=| _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Daniel P. Berrange
2007-May-01 15:01 UTC
Re: [Xen-devel] 3.0.5 rc3 paravirt save failures ?
On Tue, May 01, 2007 at 01:47:39PM +0100, Steven Hand wrote:> >I''m seeing a fairly frequent problem when trying to save paravirt domains. > >xc_save is failing, and logging the following error: > > > >(XendCheckpoint:349) ERROR Internal error: Frame# in pfn-to-mfn frame list is > not in pseudophys > >(XendCheckpoint:349) ERROR Internal error: entry 206848: p2m_frame_list[404] i > s 0x0 > >(XendCheckpoint:349) ERROR Internal error: Failed to map/save the p2m frame li > st > > > >Save/restore of fullyvirt on the same box is working pretty well. Anyone > >have ideas on what the error message might be trying to tell me.... ? > > Looks like you''re running off the top of the p2m ; your domain has 800Mb > ''maxmem'' and hence should have a p2m covering 800 + 8 (slack) = 808Mb. > However entry 206868 is for the physical page just beyond that. > > Can you check the value you''re getting for p2m_size in xc_domain_save.c, > e.g. apply the following?I did that and it was showing 206869. Updated the HV to be post-Kier''s changes and it now shows 206868, so it was an off-by-one due to HV/libxc mismatch. I really was not expecting to be seeing HV hypercall API changes in the 3.0.5 testing rc releases :-( Are there any more planned hypercall API/ABI changes anticipated before 3.0.5 is released, which would require a match HV/userspace update ? Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=| _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 1/5/07 16:01, "Daniel P. Berrange" <berrange@redhat.com> wrote:> I really was not expecting to be seeing HV hypercall API changes in > the 3.0.5 testing rc releases :-( > > Are there any more planned hypercall API/ABI changes anticipated before > 3.0.5 is released, which would require a match HV/userspace update ?Only if further bugs are found. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel