[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/HPET: mask interrupt while changing affinity
On 20/03/13 13:38, Jan Beulich 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? In the prior patch > version, handle_hpet_broadcast() had a flow like this As I have been playing with spinlocks and the recursive NMI path, I would say that the assertion is necessary, given the other callsites of spin_{un,}lock_irq() > > 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. I would agree that in this case the logic is correct despite the assertion. Overall, I would argue that obviously correct matching locking pairs is more important the performance penalty from an additional pushf & mov ~Andrew > > 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |