[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86/HPET: mask interrupt while changing affinity


  • To: Jan Beulich <JBeulich@xxxxxxxx>, Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
  • From: Keir Fraser <keir@xxxxxxx>
  • Date: Wed, 20 Mar 2013 14:19:37 +0000
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxx>
  • Delivery-date: Wed, 20 Mar 2013 14:21:18 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>
  • Thread-index: Ac4ldfOuc6web2BM+kKYEaRu6B947A==
  • Thread-topic: [Xen-devel] [PATCH] x86/HPET: mask interrupt while changing affinity

On 20/03/2013 13:38, "Jan Beulich" <JBeulich@xxxxxxxx> wrote:

>>>> On 20.03.13 at 12:55, Sander Eikelenboom <linux@xxxxxxxxxxxxxx> wrote:
>> Close but not entirely ;)
> 
> Close to not crashing, maybe, but whether this really helps with your
> problem is still entirely unclear.
> 
>> See attached serial log
> 
> Okay, I wasn't even aware of that assertion in _spin_lock_irq().
> 
> Keir, do you really think this is necessary?

You are more cunning than some others. ;) I'm pretty confident those
spinlock assertions save us from real bugs. Also I'd rather have blindingly
obvious code here than slightly faster code.

 -- Keir

> In the prior patch
> version, handle_hpet_broadcast() had a flow like this
> 
>     spin_lock_irqsave();
>     ...
>     spin_unlock_irqrestore();
>     ...
>     if ( next_event != STIME_MAX )
>     {
>         spin_lock_irq();
>         ...
>         spin_unlock_irqrestore();
>     }
> 
> avoiding the saving of the flags in the second lock acquire. Said
> assertion makes it impossible to do this.
> 
> Sander, in any case, attached a fixed version of the patch (I had
> to guess which of the two spin_lock_irq() calls it was, as the log
> was incomplete in that the stack trace got dropped, but am pretty
> positive that it was the one in handle_hpet_broadcast()).
> 
> Jan
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.