All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Kieran Mansley <kmansley@solarflare.com>
Cc: "andy@cs.ubc.ca" <andy@cs.ubc.ca>,
	Brendan Cully <brendan@cs.ubc.ca>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Keir Fraser <Keir.Fraser@eu.citrix.com>
Subject: Re: [PATCH] Skip vcpu_hotplug for VCPU 0 in smp_resume
Date: Wed, 01 Apr 2009 21:36:14 +0100	[thread overview]
Message-ID: <1238618174.1164.2857.camel@localhost.localdomain> (raw)
In-Reply-To: <1238581584.4440.18.camel@moonstone.uk.level5networks.com>

On Wed, 2009-04-01 at 06:26 -0400, Kieran Mansley wrote:
> On Tue, 2009-03-31 at 13:04 -0700, Brendan Cully wrote:
> > On Tuesday, 31 March 2009 at 18:35, Keir Fraser wrote:
> > > On 31/03/2009 18:24, "Brendan Cully" <brendan@cs.ubc.ca> wrote:
> > > 
> > > > The other is in the netfront accelerator. It tears down a xenstore
> > > > watch on the accelerator path at every suspend, and adds the watch
> > > > back on resume. As with any xenstore interaction, this can
> > > > occasionally take a very long time. I'm going from faulty memory here,
> > > > but I didn't think it was necessary to tear down and restore watches
> > > > across suspend. Would it make sense to move the watch remove and add
> > > > into the resume hook (taking it completely out of suspend and
> > > > suspend_cancel)?
> > > 
> > > They have to be renewed on full resume, but of course they do not get reset
> > > across a cancelled suspend. Kieran may be able to advise on changing the net
> > > accel code.
> > 
> > Could it be as simple as this? I can't remember what happens if
> > unregister_xenbus_watch is called after the xenbus connection has been
> > reset. Should we just free the guest structures without interacting
> > with xenstore at the start of the resume method?
> 
> I don't think that will work.  We need to remove the watch before the
> suspend to ensure that the code that handles the watch will not be
> activated during the migration.

It's worth bearing in mind for if/when you port this stuff to a newer
pvops kernel that it tries to make much greater use of the Linux device
model callbacks rather than using xenbus specific suspend/resume
methods. The Linux device model doesn't have a suspend cancelled
callback in it, AFAIK.

Ian.

      parent reply	other threads:[~2009-04-01 20:36 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-31 16:53 [PATCH] Skip vcpu_hotplug for VCPU 0 in smp_resume Brendan Cully
2009-03-31 17:24 ` Brendan Cully
2009-03-31 17:35   ` Keir Fraser
2009-03-31 20:04     ` Brendan Cully
2009-04-01 10:26       ` Kieran Mansley
2009-04-01 10:31         ` Keir Fraser
2009-04-01 11:00           ` Kieran Mansley
2009-04-01 18:39             ` Brendan Cully
2009-04-02  8:13               ` Kieran Mansley
2009-04-02  8:27                 ` Keir Fraser
2009-04-02  9:13                   ` Kieran Mansley
2009-04-07  9:26                     ` Kieran Mansley
2009-04-01 20:36         ` Ian Campbell [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1238618174.1164.2857.camel@localhost.localdomain \
    --to=ian.campbell@citrix.com \
    --cc=Keir.Fraser@eu.citrix.com \
    --cc=andy@cs.ubc.ca \
    --cc=brendan@cs.ubc.ca \
    --cc=kmansley@solarflare.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.