WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] xen kernel crash at boot since 23598:b24018319772

To: "Keir Fraser" <keir.xen@xxxxxxxxx>
Subject: Re: [Xen-devel] xen kernel crash at boot since 23598:b24018319772
From: "Jan Beulich" <JBeulich@xxxxxxxxxx>
Date: Fri, 01 Jul 2011 11:02:40 +0100
Cc: Christoph Egger <Christoph.Egger@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Delivery-date: Fri, 01 Jul 2011 03:05:54 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <CA3263D2.1D4E5%keir.xen@xxxxxxxxx>
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: <4E0CB744020000780004B6C3@xxxxxxxxxxxxxxxxxxxx> <CA3263D2.1D4E5%keir.xen@xxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> On 30.06.11 at 18:33, Keir Fraser <keir.xen@xxxxxxxxx> wrote:
> Note that domain_spin_lock_irq_desc() has a retry loop for a reason! It
> knows that pirq-irq mapping may change under its feet, so it needs to
> re-check the mapping with the desc_lock held, at which point the mapping
> cannot change *if* it obtained the correct desc_lock in time!
> 
> Perhaps pirq_spin_lock_irq_desc() needs a similar retry loop? Perhaps

Yes. Will send a patch soon.

> pirq_spin_lock_irq_desc() should never have been forked from
> domain_spin_lock_irq_desc(), and all callers should simply use the former?

I'd rather not - the lookup isn't really inexpensive (and doesn't need
to be re-done on each iteration either), which is why I created the
clone in the first place. Instead I think that with adding the retry
loop here, domain_spin_lock_irq_desc() could become a simple
wrapper around pirq_spin_lock_irq_desc().

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>