> -----Original Message----- > From: Wood Scott-B07421 > Sent: Friday, May 03, 2013 9:05 PM > To: Caraman Mihai Claudiu-B02008 > Cc: kvm-...@vger.kernel.org; kvm@vger.kernel.org; linuxppc- > d...@lists.ozlabs.org; Caraman Mihai Claudiu-B02008 > Subject: Re: [PATCH] KVM: PPC: Book3E 64: Fix IRQs warnings and hangs > > > The unresponsiveness has to do with the fact that > > arch_local_irq_restore() > > does not guarantees to hard enable interrupts. > > Could you elaborate? If the saved IRQ state was "enabled", why > wouldn't arch_local_irq_restore() hard-enable IRQs? The last thing it > does is __hard_irq_enable().
if (!irq_happened) return; > > Where is the arch_local_irq_restore() instance you're talking about? ./arch/power/kernel/irq.c > > > To do so replace exception > > function calls like timer_interrupt() with irq_happened flags. The > > local_irq_enable() call takes care of replaying them and lets the > > interrupts > > hard enabled. > > Not sure what you mean by "lets the interrupts hard enabled"... Do you > mean the EE bit in regs->msr, as opposed to the EE bit in the current > MSR? If irq_happened "the last thing it does is __hard_irq_enable()". > > @@ -789,16 +788,16 @@ static void kvmppc_restart_interrupt(struct > > kvm_vcpu *vcpu, > > switch (exit_nr) { > > case BOOKE_INTERRUPT_EXTERNAL: > > kvmppc_fill_pt_regs(®s); > > - do_IRQ(®s); > > + local_paca->irq_happened |= PACA_IRQ_EE; > > break; > > Aren't you breaking 32-bit here? I had eyes only for 64-bit hangs :) -Mike -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html