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

Re: [Xen-devel] [PATCH 18/19] libxl: suspend: Async evtchn wait



Ian Campbell writes ("Re: [PATCH 18/19] libxl: suspend: Async evtchn wait"):
> On Tue, 2014-03-04 at 14:56 +0000, Ian Jackson wrote:
> > When negotiating guest suspend via the evtchn ("fast") protocol,
> > abolish synchronous wait for domain suspend.
>
> [stuff]
>
> Neither of the above comments necessitate a change (although you could
> clarify the commit message if you were so inclined):
> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

Thanks.  Good idea.  Here's the new one.

Ian.

libxl: suspend: Async evtchn wait

When negotiating guest suspend via the evtchn ("fast") protocol,
abolish synchronous wait for domain suspend.

If the guest supports the event channel suspend protocol, we used to
sit in a loop in xc_await_suspend waiting (perhaps indefinitely) for
it to suspend.

Instead, use the new libxl event channel event facility.  When we see
that the event is signaled, we look at the domain to see if it has
suspended.  (In this patch we do not yet set a timeout; that will come
next.)

So the suspend operation no longer blocks with the libxl ctx lock
held, and instead returns to the event loop.  Additionally, domains
which signal the event channel themselves, or undergo other state
changes, will be handled more correctly.

We end up making a few more hypercalls.

Also, if we encounter errors setting up the suspend event channel
(which should not happen), abort the operation rather than falling
back to the xenstore protocol.

Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
CC: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
v4: Improve commit message.

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