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
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