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

[Xen-devel] Re: [PATCH] Make explicit message when guest failed to suspend



On Thu, 2011-03-03 at 10:13 +0000, Frank Pan wrote:
> Recent xen uses xenbus to suspend PV-on-HVM guest domain. The related
> code in the xen-unstable tree will fall into infinite loop when guest
> domain failed on suspending one or more devices.

This is a bug in Xend, it should never enter an infinite loop regardless
of guest behaviour. The code certainly appears to expect to be managing
a timeout, perhaps it has bitrotted?

> The patch attached changes the logic, and raises an XendError after 1
> minute waiting. The patch also makes use of "control/shutdown" entry
> in xenstore, allows guest kernel report the failure of the suspending.

I don't think you can change the xenbus protocol in this way without
further rationale regarding it's correctness.

In particular you need to consider and explain how it remains compatible
with a new kernel running on older toolstacks and vice versa.

> Any suggestions?

Perhaps a separate control/shutdown-error key? The message written
should be more verbose than just "failed" if/when more specific
information is available to the kernel.

> @@ -165,6 +165,8 @@ out_destroy_sm:
>       stop_machine_destroy();
> 
>  out:
> +     if (cancelled)
> +             xenbus_write(XBT_NIL, "control", "shutdown", "failed");

cancelled does not necessarily imply failure, it can mean the suspend
resulted in a checkpoint rather than a full suspend.

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