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] Prepping a bugfix push

To: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Subject: Re: [Xen-devel] Prepping a bugfix push
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Fri, 04 Dec 2009 08:37:10 -0800
Cc: Brendan Cully <brendan@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 04 Dec 2009 08:37:28 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1259941826.23698.16421.camel@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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4B1810DF.40309@xxxxxxxx> <20091203193540.GB4228@xxxxxxxxxxxxxxxxx> <4B184830.7070107@xxxxxxxx> <20091204002406.GB5897@xxxxxxxxxxxxxxxxx> <4B186192.8000201@xxxxxxxx> <1259912810.31045.175.camel@xxxxxxxxxxxxxxxxxxxxx> <1259941826.23698.16421.camel@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20091125 Fedora/3.0-3.12.rc1.fc12 Lightning/1.0pre Thunderbird/3.0
On 12/04/09 07:50, Ian Campbell wrote:
On Fri, 2009-12-04 at 07:46 +0000, Ian Campbell wrote:
I've been doing regular suspend/resumes not checkpoint ones as Brendan
is doing, I did try a couple of checkpointed ones yesterday and they
failed, IIRC with a similar softlockup to this one.
So what is happening is that the device event channels are getting torn
down by the resume handler and never completely reinstated in the
cancelled suspend (aka checkpoint) case.


In 2.6.18 there was a separate ->suspend_cancel() callback for each
driver, called instead of the ->resume() callback in exactly these
circumstances. The cancel callback doesn't do any of the teardown, in
fact for blkfront it doesn't even exist.

(As a proof of concept, commenting out the entire contents of
blkfront_resume and netfront_resume makes checkpointing work OK for me,
at the cost of breaking regular resume, of course)

pv-ops uses the generic power management infrastructure which does not
have a concept of cancelling a suspend. Perhaps it should? Otherwise a
different solution will be required, I'm not sure what that might be yet

Well, the obvious one is to treat it as a full suspend followed by immediate resume. That is, just remove all the special case handling for checkpoint, and let it do the normal resume stuff when the hypercall returns.

I think the PM core can fail to suspend; it just resumes anything that has been suspended so far.


Xen-devel mailing list