On Mon, Jun 29, 2009 at 03:46:56AM -0700, Suresh Siddha wrote: > On Mon, 2009-06-29 at 03:08 -0700, Gleb Natapov wrote: > > > > - local_irq_save(flags); > > mask_IO_APIC_setup(ioapic_entries); > > - mask_8259A(); > > Is there a reason why the 8259 mask/unmask operations are separated from > io-apic mask/unmask operations. > I left interrupt masking in enable_IR_x2apic() because interrupt should be masked during transition to x2apic mode, so it can't be moved to enable_IR(). I moved io-apic into enable_IR() because the state of io-apic depend on whether IR was enabled or not, so I left it close to IR enabling logic. Also io-apic masking can fail, but we still want to enable x2apic on KVM if possible, and moving io-apic masking to enable_IR_x2apic() will complicate the logic. > Can we keep it together so that it will be easy to read and understand > that we first do the interrupt subsystem mask, try enabling IR and > x2apic and unmask the interrupt subsystem. > For io-apic this is not 100% symmetric. We mask io-apic, enable IR and if this succeeds we do not unmask io-apic. > Otherwise I am ok with this change. > > thanks, > suresh -- Gleb. -- 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