Why GICD_ITARGETSR is not used by Linux

Li Chen me at linux.beauty
Mon Sep 19 18:42:44 PDT 2022


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?

Regards,
Li



More information about the linux-arm-kernel mailing list