Re: [PATCH v2] enable x2APIC without interrupt remapping under KVM

Gleb Natapov
2009-06-29T11:25:40Z

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.