[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Live vm migration broken in latest xen-unstable



Hi Sanjay,

Does the attached patch fix this problem for you?  It tries to make sure
there is enough spare memory to enable shadow pagetables on the domain
before starting the migration.

Cheers,

Tim

At 15:09 -0400 on 05 Sep (1157468999), sanjay kushwaha wrote:
> Hi Ewan,
> I did a "hg pull -u" on my tree which also got the changeset 11422. but I am
> still facing the same problem. btw this changeset seems to be specific to
> hvm domain while I am facing this problem with paravirtualized domain.
> 
> Thanks,
> Sanjay
> 
> On 9/5/06, Ewan Mellor <ewan@xxxxxxxxxxxxx> wrote:
> >
> >On Fri, Sep 01, 2006 at 05:36:00PM -0400, sanjay kushwaha wrote:
> >
> >> Folks,
> >> I am experiencing that live migration is not working in latest
> >> xen-unstable. I get the following message during migration
> >>
> >> [root@pc5 ksanjay]# xm migrate --live 1 [1]199.77.138.23
> >> Error: /usr/lib/xen/bin/xc_save 18 1 0 0 1 failed
> >> [root@pc5 ksanjay]#
> >>
> >> I traced the problem to a function in xen named set_sh_allocation() in
> >> file xen/arch/x86/mm/shadow/common.c
> >>
> >> tools/libxc/xc_linux_save.c:xc_linux_save() is called from the python
> >> script which makes the following hypercall
> >>
> >>     if (live) {
> >>         if (xc_shadow_control(xc_handle, dom,
> >>                               XEN_DOMCTL_SHADOW_OP_ENABLE_LOGDIRTY,
> >>                               NULL, 0, NULL, 0, NULL) < 0) {
> >>             ERR("Couldn't enable shadow mode");
> >>             goto out;
> >>         }
> >>         last_iter = 0;
> >>     } else {
> >> -----------
> >>
> >> this particular hypercall leads to the call of set_sh_allocation which
> >> fails in the following code
> >>
> >>         if ( d-> arch.shadow.total_pages < pages )
> >>         {
> >>             /* Need to allocate more memory from domheap */
> >>             pg = alloc_domheap_pages(NULL, SHADOW_MAX_ORDER, 0);
> >>             if ( pg == NULL )
> >>             {
> >>                 SHADOW_PRINTK("failed to allocate shadow pages.\n");
> >>                 return -ENOMEM;
> >>             }
> >>
> >> alloc_domheap_pages fails and returns NULL. however I think I have
> >enough
> >> memory available so this function should not fail.
> >>
> >> Is there anybody else experiencing the same problem? Could someone
> >please
> >> tell me how to fix it?
> >
> >I've put some changes into xen-unstable today which might help.  The last
> >fix
> >is on its way through testing now.  Look out for xen-unstable changeset
> >11422, and try that, see how you get on.
> >
> >Cheers,
> >
> >Ewan.
> >
> 
> 
> 
> -- 
> ----------------------
> PhD Student, Georgia Tech
> http://www.cc.gatech.edu/~ksanjay/ <http://www.cc.gatech.edu/%7Eksanjay/>

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

Attachment: lm.diff
Description: Text document

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.