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