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

Re: [Xen-devel] [PATCH] pvops: fix "xm save -c" issue



On Thu, 2010-12-16 at 05:49 +0000, Kenji Wakamiya wrote:
> Hi Konrad,
> 
> Konrad Rzeszutek Wilk wrote:
> >> When the guest is unapused, stop_machine() in manage.c returns as the
> >> suspend is cancelled. In that case, I think dpm_resume_end() should
> >> not be called after stop_machine().
> >>
> >> I tested vbd and net, the guest did not hang.
> > 
> > OK. Does 'xm save' (so no -c) and then resume work with this patch
> > (I would think so, but I am curious whether you tested this).
> > 
> >> But I'm not sure if this is a right way...
> > 
> > Looks OK to me, just want to make sure that the normal 'xm save' still
> > works after this.
> 
> I tested normal 'xm save' with this patch, and made sure it works well.
> 
> When normal save/restore is performed, the domain is suspended without
> cancel, unlike 'save -c'. So, dpm_resume_end() is called. This
> scenario haven't changed even after applying this patch.

With this change how is the effect of dpm_suspend_start undone in the
suspend cancelled case?

Currently we have
        dpm_suspend_start(PMSG_SUSPEND)
         xs_suspend
           dpm_suspend_noirq(PMSG_SUSPEND)
              SUSPEND
           dpm_resume_noirq(PMSG_RESUME)
         xs_resume or xs_supend_cancel
        dpm_resume_end(PMSG_RESUME)

Which seems nicely nested and logical but by only calling dpm_resume_end
in the non-cancelled case we seem to be unbalancing things.

Do we need some sort of dpm_resume_cancel, or some way of pushing the
cancelled flag down into the individual xenbus_device.resume handlers? 

Should we maybe simply be using a difference PMSG_XXX in the cancelled
case? Is this what one of PMSG_RESTORE or PMSG_RECOVER means?

Looks like to propagate the PMSG_* to the actual device resume functions
we would need to provide a pm_ops for the struct bus xenbus_frontend
instead of relying on the legacy handlers. This is probably a
independently good idea anyway.

Ian.


_______________________________________________
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®.