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

Thomas Gleixner tglx at linutronix.de
Sat Sep 25 14:21:38 PDT 2021


On Sat, Sep 25 2021 at 12:48, Marc Zyngier wrote:
> On Fri, 24 Sep 2021 18:05:38 +0100, Florian Fainelli <f.fainelli at gmail.com> wrote:
>>  }
>> +EXPORT_SYMBOL_GPL(irq_set_affinity_locked);
>
> This doesn't seem right.
>
> This driver seem to try and move interrupts on its own when the CPU
> goes down. Why can't it rely on the normal CPU hotplug infrastructure
> to do so like all the other drivers (bar some Cavium driver that does
> the same thing)?
>
> I'd rather you take this opportunity to move these drivers into the
> 21st century, so that we can kill irq_cpu_offline() and co altogether.

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.

 2) Two other variants to fiddle with chip internals, but those chips do
    not have an irq_affinity() callback which makes it more interesting.

    I don't see a proper way to solve that except for removing Cavium
    alltogether, but once the BCM one is gone, we just can make this
    muck depend on CAVIUM and be done with it. And I mean depend and not
    select.

Thanks,

        tglx



    



More information about the linux-arm-kernel mailing list