Why GICD_ITARGETSR is not used by Linux

Arnd Bergmann arnd at arndb.de
Tue Sep 20 00:04:16 PDT 2022


On Tue, Sep 20, 2022, at 3:42 AM, Li Chen wrote:
> Hi Arnd,
>
> I noticed GIC has GICD_ITARGETSR to distribute IRQ to different CPUs, 
> but currently, it is not used by Linux.
>
> There was a patchset from MTK people: 
> http://archive.lwn.net:8080/linux-kernel/1606486531-25719-1-git-send-email-hanks.chen@mediatek.com/T/#t 
> which implements GIC-level IRQ distributor using GICD_ITARGETSR, but it 
> is 
> not accepted because the maintainer thinks it will break existing codes 
> and not provide benefits compared with the existing affinity mechanism.
>
> IIUC, Linux only relies on affinity/irqbalance to distribute IRQ 
> instead of architecture-specific solutions like GIC's distributor.
>
> Maybe latency can somewhat get improved, but there is no benchmark yet.
>
> I have two questions here:
> 1. Now that Linux doesn't use GICD_ITARGETSR, where does it set CPU 0 
> to be the only IRQ distributor core?
> 2. Do you know any other reasons that GICD_ITARGETSR is not used by 
> Linux?

Hi Li,

It looks like the original submitter never followed up
with a new version of the patch that addresses the
issues found in review. I would assume they gave up either
because it did not show any real-world advantage, or they
could not address all of the concerns.

     Arnd



More information about the linux-arm-kernel mailing list