All of lore.kernel.org
 help / color / mirror / Atom feed
* suspend evetchn creation failure
@ 2014-03-03 17:24 Prateek Sharma
  2014-03-11 11:21 ` Ian Campbell
  0 siblings, 1 reply; 5+ messages in thread
From: Prateek Sharma @ 2014-03-03 17:24 UTC (permalink / raw)
  To: xen-devel

Hi all,
 	During xm save, I xc_save throws up this error :
"failed to get the suspend evtchn port".
 	From my understanding, the port is supposed to be stored by 
xenstore in /local/domain/, but I can't see the port being created using 
xenstore-ls either.
 	So, when is the port created during the domain's creation? And 
what factors could contribute to inexistence of the port? Are there any 
compilation/config options? I have disabled stumdom compilation.

Thanks!
--Prateek

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: suspend evetchn creation failure
  2014-03-03 17:24 suspend evetchn creation failure Prateek Sharma
@ 2014-03-11 11:21 ` Ian Campbell
  2014-03-11 16:39   ` Shriram Rajagopalan
  0 siblings, 1 reply; 5+ messages in thread
From: Ian Campbell @ 2014-03-11 11:21 UTC (permalink / raw)
  To: Prateek Sharma; +Cc: Shriram Rajagopalan, xen-devel

On Mon, 2014-03-03 at 12:24 -0500, Prateek Sharma wrote:
> Hi all,
>  	During xm save, I xc_save throws up this error :
> "failed to get the suspend evtchn port".
>  	From my understanding, the port is supposed to be stored by 
> xenstore in /local/domain/, but I can't see the port being created using 
> xenstore-ls either.

I think this event channel is created by the guest and written to
xenstore as part of support for the fast event channel based save
mechanism used by e.g. remus. In its absence save/suspend is triggered
via the traditional method of the toolstack writing commands to the
"control/shutdown" node.

IIRC the fast event channel based save stuff is not in mainline kernels,
so the tools message is correct but harmless.

CCing Shriram (Remus maintainer) in case I've got all the above wrong...

Ian.

>  	So, when is the port created during the domain's creation? And 
> what factors could contribute to inexistence of the port? Are there any 
> compilation/config options? I have disabled stumdom compilation.
> 
> Thanks!
> --Prateek
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: suspend evetchn creation failure
  2014-03-11 11:21 ` Ian Campbell
@ 2014-03-11 16:39   ` Shriram Rajagopalan
  2014-03-11 17:39     ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 5+ messages in thread
From: Shriram Rajagopalan @ 2014-03-11 16:39 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Prateek Sharma, xen-devel@lists.xen.org


[-- Attachment #1.1: Type: text/plain, Size: 1494 bytes --]

On Tue, Mar 11, 2014 at 4:21 AM, Ian Campbell <Ian.Campbell@citrix.com>wrote:

> On Mon, 2014-03-03 at 12:24 -0500, Prateek Sharma wrote:
> > Hi all,
> >       During xm save, I xc_save throws up this error :
> > "failed to get the suspend evtchn port".
> >       From my understanding, the port is supposed to be stored by
> > xenstore in /local/domain/, but I can't see the port being created using
> > xenstore-ls either.
>
> I think this event channel is created by the guest and written to
> xenstore as part of support for the fast event channel based save
> mechanism used by e.g. remus. In its absence save/suspend is triggered
> via the traditional method of the toolstack writing commands to the
> "control/shutdown" node.
>
> IIRC the fast event channel based save stuff is not in mainline kernels,
> so the tools message is correct but harmless.
>
> CCing Shriram (Remus maintainer) in case I've got all the above wrong...
>
>
Ian is right. Mainline kernels don't have suspend event channel.
Unfortunately, not having suspend event channel results in a pretty big
performance hit,
as each suspend call takes about 7-10ms and a resume takes 2-4ms. You are
looking
at approx 10% loss of execution time just to suspend/resume the VM
(assuming
a 100ms checkpoint interval).

However, OpenSUSE kernels have suspend event channel support. That said I
have
had issues with 3.7+ versions (IIRC), where the kernel starts crashing
during
recovery (which is basically a full resume).

shriram

[-- Attachment #1.2: Type: text/html, Size: 2122 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: suspend evetchn creation failure
  2014-03-11 16:39   ` Shriram Rajagopalan
@ 2014-03-11 17:39     ` Konrad Rzeszutek Wilk
  2014-03-11 18:36       ` Shriram Rajagopalan
  0 siblings, 1 reply; 5+ messages in thread
From: Konrad Rzeszutek Wilk @ 2014-03-11 17:39 UTC (permalink / raw)
  To: Shriram Rajagopalan; +Cc: xen-devel@lists.xen.org, Ian Campbell, Prateek Sharma

On Tue, Mar 11, 2014 at 09:39:21AM -0700, Shriram Rajagopalan wrote:
> On Tue, Mar 11, 2014 at 4:21 AM, Ian Campbell <Ian.Campbell@citrix.com>wrote:
> 
> > On Mon, 2014-03-03 at 12:24 -0500, Prateek Sharma wrote:
> > > Hi all,
> > >       During xm save, I xc_save throws up this error :
> > > "failed to get the suspend evtchn port".
> > >       From my understanding, the port is supposed to be stored by
> > > xenstore in /local/domain/, but I can't see the port being created using
> > > xenstore-ls either.
> >
> > I think this event channel is created by the guest and written to
> > xenstore as part of support for the fast event channel based save
> > mechanism used by e.g. remus. In its absence save/suspend is triggered
> > via the traditional method of the toolstack writing commands to the
> > "control/shutdown" node.
> >
> > IIRC the fast event channel based save stuff is not in mainline kernels,
> > so the tools message is correct but harmless.
> >
> > CCing Shriram (Remus maintainer) in case I've got all the above wrong...
> >
> >
> Ian is right. Mainline kernels don't have suspend event channel.
> Unfortunately, not having suspend event channel results in a pretty big
> performance hit,
> as each suspend call takes about 7-10ms and a resume takes 2-4ms. You are
> looking
> at approx 10% loss of execution time just to suspend/resume the VM
> (assuming
> a 100ms checkpoint interval).

What is involved in implementing it?
> 
> However, OpenSUSE kernels have suspend event channel support. That said I
> have
> had issues with 3.7+ versions (IIRC), where the kernel starts crashing
> during
> recovery (which is basically a full resume).
> 
> shriram

> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: suspend evetchn creation failure
  2014-03-11 17:39     ` Konrad Rzeszutek Wilk
@ 2014-03-11 18:36       ` Shriram Rajagopalan
  0 siblings, 0 replies; 5+ messages in thread
From: Shriram Rajagopalan @ 2014-03-11 18:36 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk
  Cc: xen-devel@lists.xen.org, Ian Campbell, Prateek Sharma


[-- Attachment #1.1: Type: text/plain, Size: 2514 bytes --]

On Tue, Mar 11, 2014 at 10:39 AM, Konrad Rzeszutek Wilk <
konrad.wilk@oracle.com> wrote:

> On Tue, Mar 11, 2014 at 09:39:21AM -0700, Shriram Rajagopalan wrote:
> > On Tue, Mar 11, 2014 at 4:21 AM, Ian Campbell <Ian.Campbell@citrix.com
> >wrote:
> >
> > > On Mon, 2014-03-03 at 12:24 -0500, Prateek Sharma wrote:
> > > > Hi all,
> > > >       During xm save, I xc_save throws up this error :
> > > > "failed to get the suspend evtchn port".
> > > >       From my understanding, the port is supposed to be stored by
> > > > xenstore in /local/domain/, but I can't see the port being created
> using
> > > > xenstore-ls either.
> > >
> > > I think this event channel is created by the guest and written to
> > > xenstore as part of support for the fast event channel based save
> > > mechanism used by e.g. remus. In its absence save/suspend is triggered
> > > via the traditional method of the toolstack writing commands to the
> > > "control/shutdown" node.
> > >
> > > IIRC the fast event channel based save stuff is not in mainline
> kernels,
> > > so the tools message is correct but harmless.
> > >
> > > CCing Shriram (Remus maintainer) in case I've got all the above
> wrong...
> > >
> > >
> > Ian is right. Mainline kernels don't have suspend event channel.
> > Unfortunately, not having suspend event channel results in a pretty big
> > performance hit,
> > as each suspend call takes about 7-10ms and a resume takes 2-4ms. You are
> > looking
> > at approx 10% loss of execution time just to suspend/resume the VM
> > (assuming
> > a 100ms checkpoint interval).
>
> What is involved in implementing it?
>
>
 This is as far as my understanding goes
  1. establish a dedicated event channel in the guest (i think in
drivers/xen/manage.c)
  2. publish it to xenstore
  3. Listen on the event channel for suspend/suspend-cancel/resume events
from dom0
  4. start a dedicated kernel thread to service events on this event
channel.
  5. When the kernel receives an event on this channel, queue it up to this
thread.

The thread:
  The usual suspend routine - quiesce all cpus, save all power state using
the PM infrastructure

However, looking at old pvops code, there seems to be a couple of
optimizations that
sped up the whole suspend process. The process as such, for Remus, involves
suspending
and resuming only blkfront and netfront.  But, the whole power management
infrastructure's
freeze every driver, thaw every driver approach seems overkill, adding few
milliseconds
to the suspend/resume procedure.

[-- Attachment #1.2: Type: text/html, Size: 3490 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-03-11 18:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-03 17:24 suspend evetchn creation failure Prateek Sharma
2014-03-11 11:21 ` Ian Campbell
2014-03-11 16:39   ` Shriram Rajagopalan
2014-03-11 17:39     ` Konrad Rzeszutek Wilk
2014-03-11 18:36       ` Shriram Rajagopalan

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.