Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [PATCH 03/11] genirq: Export irq_set_affinity_locked() | Date | Mon, 27 Sep 2021 20:18:36 +0200 |
| |
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.
Thanks,
tglx
| |