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

Re: [Xen-devel] xl save but leave domain paused



On Sun, 2013-06-09 at 22:41 +0100, Ian Murray wrote:
> Thanks for reading and responding
> 
> 
> > 
> > Does it work if you simply do the pause before the resume? Looking at
> > the hypervisor side it appears that pauses are referenced counted and it
> > looks (based on a cursory glance) that it will do the right thing.
> > 
> 
> I tried this before and it didn't seems to work. However, it seems to working 
> now, having repeated the exercise.
> 
> From memory It seemed to leave the domain in either a "pss" or similar 
> unhealthy state (I don't remember exactly). I have since discovered this may 
> be a different issue around suspending/checkpointing using a CentOS 5.x Xen 
> kernel and also I was working with a domain I broke because of 
> experimentation.
> 
> Anyway, I will spend more time testing this solution.
> 
> >>   I have looked at the corresponding xc calls but meddling with 
> >>  those is way beyond my knowledge. Another way of looking at the problem 
> >>  would be able to perform an xl save on a paused domain, as this would 
> >>  achieve the same result.
> > 
> > OOI what happens if you try that?
> 
> As far as I remember it complained that the domain didn't respond to the 
> suspend request. I was going to repeat the exercise but that seems like a 
> moot point now.
> 
> 
> > 
> >>  (Against RELEASE-4.2.2)
> > 
> > FYI any eventual patch will need to be against unstable and then
> > considered separately for backporting.
> 
> Sure. I just needed a working place to start.
> 
> If I was to prepare a patch against unstable, would it be accepted?

It seems like useful functionality to me, so subject to reviewing the
actual implementation I think it more than likely would.

> 
> 
> The code I ended up with was (which is what I think you expected):-

Yep, minus the fprintf which I don't think is needed.

> 
>     if (leavepaused || checkpoint || rc < 0) {
>         if (leavepaused && ! (rc < 0)) {

I think the libxl coding style would be to cuddle the ! against the
bracket.

>             libxl_domain_pause(ctx, domid);
>             fprintf(stderr, "Pausing before resume\n");
>         }
>         libxl_domain_resume(ctx, domid, 1, 0);
>     }
>     else
>          libxl_domain_destroy(ctx, domid, 0);
> 
> 
> > 
> > Ian.
> > 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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