> -----Original Message----- > From: Linuxppc-dev [mailto:linuxppc-dev- > bounces+mihai.caraman=freescale.com@xxxxxxxxxxxxxxxx] On Behalf Of > Benjamin Herrenschmidt > Sent: Thursday, July 05, 2012 1:21 AM > To: Alexander Graf > Cc: qemu-ppc@xxxxxxxxxx List; Caraman Mihai Claudiu-B02008; linuxppc-dev; > KVM list; <kvm-ppc@xxxxxxxxxxxxxxx> > Subject: Re: [Qemu-ppc] [RFC PATCH 09/17] KVM: PPC64: booke: Hard disable > interrupts when entering guest > > On Wed, 2012-07-04 at 16:14 +0200, Alexander Graf wrote: > > > +#ifdef CONFIG_64BIT > > > +#define _hard_irq_disable() hard_irq_disable() > > > +#else > > > +#define _hard_irq_disable() local_irq_disable() > > > +#endif > > > > So you only swap out the disable bit, but not the enable one? Ben, > > would this work out? > > hard_irq_disable() both soft and hard disable. local_irq_enable() will > see that irqs are hard disabled and will hard enable. > > However, there's a nastier discrepancy above: local_irq_disable will > properly inform lockdep that we are disabling, while hard_irq_disable > won't. > > Arguably we might want to fix that inside hard_irq_disable() itself... > > Also you need to be careful. If you are coming with interrupts already > enabled, it's fine, but if you have interrupts soft disabled, then > you hard disable, before you enter the guest you probably want to > check if anything was left "pending" and cancel the entering of the > guest if that is the case. On which cases I can find interrupts soft disabled if I call local_irq_enable() ahead? Can this happen when my kernel task is scheduled? I presume that if I call hard_irq_disable() before entering the guest, a guest exit will find interrupts soft disabled. -Mike -- 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