2009-10-26 22:02:36

by Suresh Siddha

[permalink] [raw]
Subject: [patch 0/6] x86: cleanups and fixes for irq migration code during cpu offline

First four patches in the series unify the fixup_irqs() along with
couple of cleanups. It also fixes an issue where the interrupt subsystem can
point the interrupt to the offlined cpu (for non interrupt-remapping case)
causing the device to not work. This was observed by Gary.

These four patches are ready for inclusion and while there was a debate
in the past that fixup_irqs() is kind of broken (because of migrating
interrupts in the process context for non intr-remapping platforms)
we think that these patches enhance the existing code and not introduce any
more new races.

The last two patches in the series are titled as RFC. These patches
address removing the local_irq_enable()/local_irq_disable() in
the fixup_irqs(). All the patches (including these last two RFC patches) are
tested on Intel platforms (by myself) and on AMD platforms(by Gary).

We labeled the last two patches as RFC mainly because they need more testing and
thoughts from Eric and others who did some unsuccessful experiments in this
area (migrating irq in the process context for non intr-remapping platforms)
before.

thanks,
suresh


2009-10-30 18:26:53

by Suresh Siddha

[permalink] [raw]
Subject: Re: [patch 0/6] x86: cleanups and fixes for irq migration code during cpu offline

On Mon, 2009-10-26 at 15:24 -0700, Siddha, Suresh B wrote:
> First four patches in the series unify the fixup_irqs() along with
> couple of cleanups. It also fixes an issue where the interrupt subsystem can
> point the interrupt to the offlined cpu (for non interrupt-remapping case)
> causing the device to not work. This was observed by Gary.
>
> These four patches are ready for inclusion

Ingo, if no one has any objections, can you please consider the first
four patches in this patchset for -tip testing?

> and while there was a debate
> in the past that fixup_irqs() is kind of broken (because of migrating
> interrupts in the process context for non intr-remapping platforms)
> we think that these patches enhance the existing code and not introduce any
> more new races.
>
> The last two patches in the series are titled as RFC.

Eric, any thoughts on these two RFC patches or the other 4 patches that
are ready to go.

> These patches
> address removing the local_irq_enable()/local_irq_disable() in
> the fixup_irqs(). All the patches (including these last two RFC patches) are
> tested on Intel platforms (by myself) and on AMD platforms(by Gary).
>
> We labeled the last two patches as RFC mainly because they need more testing and
> thoughts from Eric and others who did some unsuccessful experiments in this
> area (migrating irq in the process context for non intr-remapping platforms)
> before.

thanks,
suresh

2009-11-02 14:59:46

by Ingo Molnar

[permalink] [raw]
Subject: Re: [patch 0/6] x86: cleanups and fixes for irq migration code during cpu offline


* Suresh Siddha <[email protected]> wrote:

> On Mon, 2009-10-26 at 15:24 -0700, Siddha, Suresh B wrote:
> > First four patches in the series unify the fixup_irqs() along with
> > couple of cleanups. It also fixes an issue where the interrupt subsystem can
> > point the interrupt to the offlined cpu (for non interrupt-remapping case)
> > causing the device to not work. This was observed by Gary.
> >
> > These four patches are ready for inclusion
>
> Ingo, if no one has any objections, can you please consider the first
> four patches in this patchset for -tip testing?

Yep, queued them up. I went for the whole batch as it looks good and
needs wider testing as well.

Note, i fixed a few small details in patch #5.

Note #2, the signoffs from Gary looked weird - they were put last while
the patches did not come from him. I changed those to Acked-by - i
suppose that was the intention, right?

Ingo

2009-11-02 17:35:46

by Gary Hade

[permalink] [raw]
Subject: Re: [patch 0/6] x86: cleanups and fixes for irq migration code during cpu offline

On Mon, Nov 02, 2009 at 03:59:38PM +0100, Ingo Molnar wrote:
>
> * Suresh Siddha <[email protected]> wrote:
>
> > On Mon, 2009-10-26 at 15:24 -0700, Siddha, Suresh B wrote:
> > > First four patches in the series unify the fixup_irqs() along with
> > > couple of cleanups. It also fixes an issue where the interrupt subsystem can
> > > point the interrupt to the offlined cpu (for non interrupt-remapping case)
> > > causing the device to not work. This was observed by Gary.
> > >
> > > These four patches are ready for inclusion
> >
> > Ingo, if no one has any objections, can you please consider the first
> > four patches in this patchset for -tip testing?
>
> Yep, queued them up. I went for the whole batch as it looks good and
> needs wider testing as well.
>
> Note, i fixed a few small details in patch #5.
>
> Note #2, the signoffs from Gary looked weird - they were put last while
> the patches did not come from him. I changed those to Acked-by -

Thats fine with me. I was involved to a minor extent
in the development of the patches but I think my biggest
contribution was testing.

BTW, looks like "[patch 1/6] x86: unify fixup_irqs() for 32-bit
and 64-bit kernels" got committed without this change.

Thanks for giving them a chance.

Gary

--
Gary Hade
System x Enablement
IBM Linux Technology Center
503-578-4503 IBM T/L: 775-4503
[email protected]
http://www.ibm.com/linux/ltc