On Fri, 2012-04-27 at 01:30 +0200, Alexander Graf wrote: > On 27.04.2012, at 01:12, Benjamin Herrenschmidt wrote: > > > On Fri, 2012-04-27 at 00:24 +0200, Alexander Graf wrote: > >> > >> This is to actually enable interrupts for real, regardless of ppc64 > >> and ppc32. In fact, the previous code was pretty buggy - it was > >> running the handlers with interrupts disabled ;). > > > > They should be run with interrupts disabled.. tho both soft & hard. > > The kvm_resched()? No, that one should be run with interrupts enabled - hard and soft :). Ok, when you said "the handler" I thought you mean do_IRQ & co... those must be run with IRQs off (and never enabled since taking the actual exception). > > You probably do want to call local_irq_disable() unconditionally anyway, > > because on ppc32, that will give you the proper accounting vs. lockdep. > > We already do __hard_irq_disable (which maps to local_irq_disable on ppc32) > when entering the guest context and when leaving the intercept handler :). > So that should be fine, no? Well, __hard_irq_disable() isn't defined on ppc32 in hw_irq.h so if you redefine it locally that's really gross :-) Also that means that from a lockdep perspective you are running the entire guest with IRQs off ? that doesn't sound right... Cheers, Ben. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html