This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Re: [PATCH][HVM] fix VNIF restore failure on HVM guest w

To: "Zhai, Edwin" <edwin.zhai@xxxxxxxxx>
Subject: Re: [Xen-devel] Re: [PATCH][HVM] fix VNIF restore failure on HVM guest with heavy workload
From: Keir Fraser <keir@xxxxxxxxxxxxx>
Date: Wed, 11 Apr 2007 08:41:25 +0100
Cc: Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>, Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 11 Apr 2007 00:40:22 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20070411072014.GK4593@xxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acd8DM6KDTeMY+gAEduOGgAX8io7RQ==
Thread-topic: [Xen-devel] Re: [PATCH][HVM] fix VNIF restore failure on HVM guest with heavy workload
User-agent: Microsoft-Entourage/
On 11/4/07 08:20, "Zhai, Edwin" <edwin.zhai@xxxxxxxxx> wrote:

>> 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.

Yeah, but in that case: (a) it's for a different reason [make sure no
interrupt handler runs that might look at machine addresses in page tables,
mainly]; and (b) it's backed up by the fact that all other CPUs have been
offlined or stop_machined().

Do you have a crash oops message? I'm just a little concerned we may end up
masking a real save/restore bug here, which we may as well fix while you can

> 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?

I'm thinking irq_disable() of the pci-flatform irq, coupled with a
smp_call_function() to make the other CPUs spin with interrupts disabled.

 -- Keir

Xen-devel mailing list