From: Kieran Mansley <kmansley@solarflare.com>
To: Keir Fraser <keir.fraser@eu.citrix.com>
Cc: "andy@cs.ubc.ca" <andy@cs.ubc.ca>,
Brendan Cully <brendan@cs.ubc.ca>,
xen-devel@lists.xensource.com
Subject: Re: [PATCH] Skip vcpu_hotplug for VCPU 0 in smp_resume
Date: Wed, 01 Apr 2009 12:00:04 +0100 [thread overview]
Message-ID: <1238583605.4440.33.camel@moonstone.uk.level5networks.com> (raw)
In-Reply-To: <C5F90122.5516%keir.fraser@eu.citrix.com>
On Wed, 2009-04-01 at 11:31 +0100, Keir Fraser wrote:
> On 01/04/2009 11:26, "Kieran Mansley" <kmansley@solarflare.com> wrote:
>
> >> 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?
> >
> > It may be possible to synchronise the watch handler with the
> > suspend/resume/cancel cycle without removing the watch, but that starts
> > to get complicated.
>
> Could we avoid any of this logic executing if there are no net accelerators?
The watch handler will try to load an accelerator if the configuration
changes, so even if there were no accelerators before the suspend,
unless you can prevent the watch from firing, you could end up with one
trying to load between the suspend and resume.
If you got rid of the feature to load the requested accelerator
automatically when the configuration changes, then yes, that might be
possible, but I think I'd rather leave that in and use an extra lock and
some state to ignore the watch firing at bad times. This would mean we
could leave the watch in place during the suspend/resume/cancel cycle
(refreshing on resume). The suspend_cancel callback would still be
necessary, but it would just be acquiring a lock and modifying some
state rather than doing a xenbus watch operation.
It's not clear to me what the source of the long delay is, and whether
that change would solve it: the extra lock would be contended with the
watch handler's work queue, and so if the watch is the source of the
delay it's possible that we'd just contend in a different way and the
delay would still be there. Brendan: can you explain the delay for me?
Kieran
next prev parent reply other threads:[~2009-04-01 11:00 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 [this message]
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
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=1238583605.4440.33.camel@moonstone.uk.level5networks.com \
--to=kmansley@solarflare.com \
--cc=andy@cs.ubc.ca \
--cc=brendan@cs.ubc.ca \
--cc=keir.fraser@eu.citrix.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.