Thread (44 messages) 44 messages, 8 authors, 2025-10-20

Re: [PATCH v3 00/26] genirq: Add support for percpu_devid IRQ affinity

From: Alexandru Elisei <hidden>
Date: 2025-09-26 10:38:35
Also in: linux-acpi, lkml

Hi,

Tested this on a rockpro64 - 4xA53 + 2xA72.

On kernel v6.17-rc5, using perf to profile iperf3 for 10 seconds, the top
overhead symbol was _raw_spinlock_irq_restore() and the PMU wasn't using NMIs
(checked by printing has_nmi after armpmu_request_irq()).

With this series, same test, *irq_restore() overhead dropped to about 1% on the
little core, below 1% on the big core, and the PMU was using NMIs.

Thanks,
Alex

On Mon, Sep 22, 2025 at 09:28:07AM +0100, Marc Zyngier wrote:
This is the third version of this series, originally posted at [1],
which aims at allowing percpu_devid interrupt requests on the basis of
an affinity mask. See the original submission for the details of why
this is a desirable outcome.

From v2, we have some tidying up, thanks to Jonathan's review -- see
changelog for details.

FWIW, I've pushed a branch at [3].

* From v2 [2]:

  - Turned of_node_to_fwnode() usage to of_fwnode_handle() (Jonathan)

  - Added a patch to finally kill of_node_to_fwnode()

  - Tidied-up documentation, comments and formatting (Jonathan)

  - Collected ABs and Rbs, with thanks (Jonathan, Suzuki, Sven)

* From v1 [1]:

  - Fixed NMI handling by getting rid of the NMI-specific flow
    handler, which was pretty useless anyway (Will)

  - As a result, killed a metric buttload worth of GICv3 code

  - Moved irq_fwspec out of irq_fwspec_info, and passed it as a
    parameter to irq_get_fwspec_info(), renamed from irq_get_info(),
    and applied some generous sanitisation of the structure (Thomas)

  - Dropped the rather useless fwspec validity flag (Thomas)

  - Rejigged the PMU per-CPU handling to better deal with the DT/ACPI
    differences, and drop some now useless patches (Will)

  - Plenty of cosmetic rework (Raphael, Thomas)

[1] https://lore.kernel.org/r/20250908163127.2462948-1-maz@kernel.org (local)
[2] https://lore.kernel.org/r/20250915085702.519996-1-maz@kernel.org (local)
[3] git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irq/ppi-affinity
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help