|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |