On 9/27/21 11:18 AM, Thomas Gleixner wrote: > On Mon, Sep 27 2021 at 10:47, Florian Fainelli wrote: >> On 9/25/21 2:37 PM, Thomas Gleixner wrote: >>>> 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. We use arch/mips/kernel/smp-bmips.c but I do see the path forward, thanks! -- -- Florian