* question about suspending the guest
@ 2015-03-27 6:04 Wen Congyang
2015-03-27 10:31 ` Ian Campbell
0 siblings, 1 reply; 2+ messages in thread
From: Wen Congyang @ 2015-03-27 6:04 UTC (permalink / raw)
To: xen devel
When I test COLO, I find that suspending the primay guest will fail.
static void domain_suspend_common_wait_guest(libxl__egc *egc,
libxl__domain_suspend_state2 *dss2)
{
STATE_AO_GC(dss2->ao);
int rc;
LOG(DEBUG, "wait for the guest to suspend");
rc = libxl__ev_xswatch_register(gc, &dss2->guest_watch,
suspend_common_wait_guest_watch,
"@releaseDomain");
if (rc) goto err;
rc = libxl__ev_time_register_rel(gc, &dss2->guest_timeout,
suspend_common_wait_guest_timeout,
60*1000);
if (rc) goto err;
return;
err:
domain_suspend_common_failed(egc, dss2);
}
suspend_common_wait_guest_watch() is not called and timeout. I don't know
who will wake up this watch.
Thanks
Wen Congyang
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: question about suspending the guest
2015-03-27 6:04 question about suspending the guest Wen Congyang
@ 2015-03-27 10:31 ` Ian Campbell
0 siblings, 0 replies; 2+ messages in thread
From: Ian Campbell @ 2015-03-27 10:31 UTC (permalink / raw)
To: Wen Congyang; +Cc: xen devel
On Fri, 2015-03-27 at 14:04 +0800, Wen Congyang wrote:
> When I test COLO, I find that suspending the primay guest will fail.
>
> static void domain_suspend_common_wait_guest(libxl__egc *egc,
> libxl__domain_suspend_state2 *dss2)
> {
> STATE_AO_GC(dss2->ao);
> int rc;
>
> LOG(DEBUG, "wait for the guest to suspend");
>
> rc = libxl__ev_xswatch_register(gc, &dss2->guest_watch,
> suspend_common_wait_guest_watch,
> "@releaseDomain");
> if (rc) goto err;
>
> rc = libxl__ev_time_register_rel(gc, &dss2->guest_timeout,
> suspend_common_wait_guest_timeout,
> 60*1000);
> if (rc) goto err;
> return;
>
> err:
> domain_suspend_common_failed(egc, dss2);
> }
>
> suspend_common_wait_guest_watch() is not called and timeout. I don't know
> who will wake up this watch.
Any watch on @releaseDomain should be fired by xenstored whenever a
domain is destroyed. xenstored is notified of such events by the
hypervisor via VIRQ_DOM_EXC.
If the watch is not firing then either the domain is not suspending in a
timely manner (i.e. it takes longer than 60 seconds, or never happens at
all) or something else is wrong with your configuration.
Ian.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-03-27 10:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-27 6:04 question about suspending the guest Wen Congyang
2015-03-27 10:31 ` Ian Campbell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.