All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Zhai, Edwin" <edwin.zhai@intel.com>
To: Keir Fraser <keir@xensource.com>
Cc: Tim Deegan <Tim.Deegan@xensource.com>,
	Ian Pratt <Ian.Pratt@cl.cam.ac.uk>,
	xen-devel@lists.xensource.com, "Zhai,
	Edwin" <edwin.zhai@intel.com>
Subject: Re: [PATCH][HVM] fix VNIF restore failure on HVM guest with heavy workload
Date: Wed, 11 Apr 2007 15:20:14 +0800	[thread overview]
Message-ID: <20070411072014.GK4593@edwin-srv.sh.intel.com> (raw)
In-Reply-To: <C241A104.D150%keir@xensource.com>

On Tue, Apr 10, 2007 at 08:16:04PM +0100, Keir Fraser wrote:
> On 10/4/07 17:47, "Zhai, Edwin" <edwin.zhai@intel.com> wrote:
> 
> > [PATCH][HVM] fix VNIF restore failure on HVM guest with heavy workload
> > 
> > Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
> > 
> > VNIF has many intrs when save/restore with net workload, so need keep handler
> > from intrs
> 
> What happens if an interrupt is being processed during save/restore? It
> would be nice to know what the underlying bug is!

If an pseudo PCI intr occurred after xen_suspend on cpu0, there is definitely a 
crash. I copy this code from original PV driver code.

> 
> That said, it may well make sense to somehow disable interrupt handling
> across save/restore. Unfortunately your patch is insufficient since we could
> handle event-channel interrupts on any VCPU (the irq's affinity can be
> changed outside our control if it is routed through the virtual IOAPIC, and
> if e.g. the userspace irqbalance daemon is running).
> 
> I wanted to use stop_machine_run() but unfortunately it isn't exported to
> modules. :-( irq_disable() may do the right thing for us though.

SMP is a headache for PV drv save/restore on HVM. Even we disable intr on all 
cpus, PV driver on other cpu may still access low level service after 
xen_suspend on cpu0.

smp_suspend is used for PV drv on PV domain, which is not suitable for HVM as we 
need the transparency to guest.

Do we need lightweight stop_machine_run in this case, i.e. make other cpu sleep?


> 
>  -- Keir
> 

-- 
best rgds,
edwin

  reply	other threads:[~2007-04-11  7:20 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-10 16:47 [PATCH][HVM] fix VNIF restore failure on HVM guest with heavy workload Zhai, Edwin
2007-04-10 19:16 ` Keir Fraser
2007-04-11  7:20   ` Zhai, Edwin [this message]
2007-04-11  7:41     ` Keir Fraser
2007-04-11  8:56     ` Keir Fraser
2007-04-11 16:24       ` Re: [PATCH][HVM] fix VNIF restore failure on HVMguest " Zhao, Fan
2007-04-11 16:54         ` Re: [PATCH][HVM] fix VNIF restore failure on HVMguestwith " Steven Hand
2007-04-12 18:46           ` Mark Williamson
2007-04-12 18:51             ` Steven Hand
2007-04-13  9:42               ` Keir Fraser
2007-04-11 17:32         ` Re: [PATCH][HVM] fix VNIF restore failure on HVMguest with " Keir Fraser
2007-04-12  2:47           ` Zhao, Fan
2007-04-12  7:06             ` Keir Fraser

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=20070411072014.GK4593@edwin-srv.sh.intel.com \
    --to=edwin.zhai@intel.com \
    --cc=Ian.Pratt@cl.cam.ac.uk \
    --cc=Tim.Deegan@xensource.com \
    --cc=keir@xensource.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.