Re: [patch] x64: Avoid irq_chip mask/unmask in fixup_irqs for interrupt-remapping

Suresh Siddha
2009-06-05T01:20:45Z

On Thu, 2009-06-04 at 16:13 -0700, Eric W. Biederman wrote:
> Suresh Siddha <suresh.b.siddha@intel.com> writes:
>
> > From: Suresh Siddha <suresh.b.siddha@intel.com>
> > Subject: x64: Avoid irq_chip mask/unmask in fixup_irqs for interrupt-remapping
> >
> > In the presence of interrupt-remapping, irqs will be migrated in the
> > process context and we don't do (and there is no need to) irq_chip mask/unmask
> > while migrating the interrupt.
> >
> > Similarly fix the fixup_irqs() that get called during cpu offline and avoid
> > calling irq_chip mask/unmask for irqs that are ok to be migrated in the
> > process context.
> >
> > While we didn't observe any race condition with the existing code,
> > this change takes complete advantage of interrupt-remapping in
> > the newer generation platforms and avoids any potential HW lockup's
> > (that often worry Eric :)
>
> You now apparently fail to migrate the irq threads in tandem with
> the rest of the irqs.

Eric, Are you referring to Gary's issues? As far as I understand, they
don't happen in the presence of interrupt-remapping.

Can you ack this patch, as this avoid touching IO-APIC and MSI entries
and does fixup_irqs() in a much more reliable fashion.

I haven't followed Gary's couple of patches related to non
interrupt-remapping case. I will go through them and see how I can help
there.

thanks,
suresh