Thread (31 messages) 31 messages, 5 authors, 2021-09-28

Re: [PATCH 03/11] genirq: Export irq_set_affinity_locked()

From: Thomas Gleixner <hidden>
Date: 2021-09-27 18:18:41
Also in: linux-arm-kernel, linux-devicetree, linux-sh, lkml

On Mon, Sep 27 2021 at 10:47, Florian Fainelli wrote:
On 9/25/21 2:37 PM, Thomas Gleixner wrote:
quoted
quoted
I wanted to kill these callbacks years ago. Cavium has two variants of
those offline/online callbacks:

 1) octeon_irq_cpu_offline_ciu() which is doing the same as that BCM
    driver. These really can go away. Just remove the callback and
    everything just works.
For BCM this works today when that chip is used on ARM[64] simply
because the only architecture which invokes irq_cpu_offline() is MIPS.
That is correct. How would you recommend addressing that? In premise
when this driver is used on ARM[64] it is used as a second level
interrupt controller hanging off the ARM GIC (or another ARM CPU
interrupt controller), so in that case I suppose I could make the
irq_set_cpu_offline be dependent upon CONFIG_SMP and CONFIG_MIPS, would
that be acceptable?
Why? Just get rid of the callback in that driver and ensure that
irq_migrate_all_off_this_cpu() is invoked when the CPU dies.

arch/mips/kernel/smp-cps.c already does that, but I don't know whether
your MIPS platform uses those SMP ops. If not you surely have a template
there.

Thanks,

        tglx

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help