Re: [PATCH] irq: revert non-working patch to affinity defaults

Jesse Brandeburg
2015-04-04T00:13:40Z

On Fri, 3 Apr 2015 08:55:57 +0200
Ingo Molnar <mingo@kernel.org> wrote:
> So the original commit also has the problem that it unnecessary
> drops/retakes the descriptor lock:
>
> > irq_put_desc_unlock(desc, flags);
> > - /* set the initial affinity to prevent every interrupt being on CPU0 */
> > - if (m)
> > - __irq_set_affinity(irq, m, false);
>
>
> i.e. why not just call into irq_set_affinity_locked() while we still
> have the descriptor locked?

I had tried that but it didn't help much. I also tried kzalloc a new
descriptor like the proc functionality does, and that changes the
behavior a little, but doesn't fix it AFAICS.

> Now this is just a small annoyance that should not really matter - it
> would be nice to figure out the real reason for why the irqs move back
> to CPU#0.
>
> In theory the same could happen to 'irqbalanced' as well, if it calls
> shortly after an irq was registered - so this is not a bug we want to
> ignore.

Let me know if I can do something to help, the IRQ code is a bit of a
steep learning curve, so the chances of me fixing it are small.

> Also, worst case we are back to where v3.19 was, right? So could we
> try to analyze this a bit more?

Yes, 3.19 shipped with this issue. Again, let me know if I can help.

Thanks,
Jesse