mirror of https://github.com/torvalds/linux.git
- Core:
- Remove a global lock in the affinity setting code
The lock protects a cpumask for intermediate results and the lock
causes a bottleneck on simultaneous start of multiple virtual
machines. Replace the lock and the static cpumask with a per CPU
cpumask which is nicely serialized by raw spinlock held when
executing this code.
- Provide support for giving a suffix to interrupt domain names.
That's required to support devices with subfunctions so that the
domain names are distinct even if they originate from the same
device node.
- The usual set of cleanups and enhancements all over the place
- Drivers:
- Support for longarch AVEC interrupt chip
- Refurbishment of the Armada driver so it can be extended for new
variants.
- The usual set of cleanups and enhancements all over the place
-----BEGIN PGP SIGNATURE-----
iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmbn5p8THHRnbHhAbGlu
dXRyb25peC5kZQAKCRCmGPVMDXSYoRFtD/43eB3h5usY2OPW0JmDqrE6qnzsvjPZ
1H52BcmMcOuI6yCfTnbi/fBB52mwSEGq9Dmt1GXradyq9/CJDIqZ1ajI1rA2jzW2
YdbeTDpKm1rS2ddzfp2LT2BryrNt+7etrRO7qHn4EKSuOcNuV2f58WPbIIqasvaK
uPbUDVDPrvXxLNcjoab6SqaKrEoAaHSyKpd0MvDd80wHrtcSC/QouW7JDSUXv699
RwvLebN1OF6mQ2J8Z3DLeCQpcbAs+UT8UvID7kYUJi1g71J/ZY+xpMLoX/gHiDNr
isBtsuEAiZeNaFpksc7A6Jgu5ljZf2/aLCqbPLlHaduHFNmo94x9KUbIF2cpEMN+
rsf5Ff7AVh1otz3cUwLLsm+cFLWRRoZdLuncn7rrgB4Yg0gll7qzyLO6YGvQHr8U
Ocj1RXtvvWsMk4XzhgCt1AH/42cO6go+bhA4HspeYykNpsIldIUl1MeFbO8sWiDJ
kybuwiwHp3oaMLjEK4Lpq65u7Ll8Lju2zRde65YUJN2nbNmJFORrOLmeC1qsr6ri
dpend6n2qD9UD1oAt32ej/uXnG160nm7UKescyxiZNeTm1+ez8GW31hY128ifTY3
4R3urGS38p3gazXBsfw6eqkeKx0kEoDNoQqrO5gBvb8kowYTvoZtkwMGAN9OADwj
w6vvU0i+NIyVMA==
=JlJ2
-----END PGP SIGNATURE-----
Merge tag 'irq-core-2024-09-16' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq updates from Thomas Gleixner:
"Core:
- Remove a global lock in the affinity setting code
The lock protects a cpumask for intermediate results and the lock
causes a bottleneck on simultaneous start of multiple virtual
machines. Replace the lock and the static cpumask with a per CPU
cpumask which is nicely serialized by raw spinlock held when
executing this code.
- Provide support for giving a suffix to interrupt domain names.
That's required to support devices with subfunctions so that the
domain names are distinct even if they originate from the same
device node.
- The usual set of cleanups and enhancements all over the place
Drivers:
- Support for longarch AVEC interrupt chip
- Refurbishment of the Armada driver so it can be extended for new
variants.
- The usual set of cleanups and enhancements all over the place"
* tag 'irq-core-2024-09-16' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (73 commits)
genirq: Use cpumask_intersects()
genirq/cpuhotplug: Use cpumask_intersects()
irqchip/apple-aic: Only access system registers on SoCs which provide them
irqchip/apple-aic: Add a new "Global fast IPIs only" feature level
irqchip/apple-aic: Skip unnecessary enabling of use_fast_ipi
dt-bindings: apple,aic: Document A7-A11 compatibles
irqdomain: Use IS_ERR_OR_NULL() in irq_domain_trim_hierarchy()
genirq/msi: Use kmemdup_array() instead of kmemdup()
genirq/proc: Change the return value for set affinity permission error
genirq/proc: Use irq_move_pending() in show_irq_affinity()
genirq/proc: Correctly set file permissions for affinity control files
genirq: Get rid of global lock in irq_do_set_affinity()
genirq: Fix typo in struct comment
irqchip/loongarch-avec: Add AVEC irqchip support
irqchip/loongson-pch-msi: Prepare get_pch_msi_handle() for AVECINTC
irqchip/loongson-eiointc: Rename CPUHP_AP_IRQ_LOONGARCH_STARTING
LoongArch: Architectural preparation for AVEC irqchip
LoongArch: Move irqchip function prototypes to irq-loongson.h
irqchip/loongson-pch-msi: Switch to MSI parent domains
softirq: Remove unused 'action' parameter from action callback
...
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| alphascale_asm9260-icoll.h | ||
| exynos-combiner.c | ||
| irq-al-fic.c | ||
| irq-alpine-msi.c | ||
| irq-apple-aic.c | ||
| irq-armada-370-xp.c | ||
| irq-aspeed-i2c-ic.c | ||
| irq-aspeed-scu-ic.c | ||
| irq-aspeed-vic.c | ||
| irq-ath79-cpu.c | ||
| irq-ath79-misc.c | ||
| irq-atmel-aic-common.c | ||
| irq-atmel-aic-common.h | ||
| irq-atmel-aic.c | ||
| irq-atmel-aic5.c | ||
| irq-bcm2835.c | ||
| irq-bcm2836.c | ||
| irq-bcm6345-l1.c | ||
| irq-bcm7038-l1.c | ||
| irq-bcm7120-l2.c | ||
| irq-brcmstb-l2.c | ||
| irq-clps711x.c | ||
| irq-crossbar.c | ||
| irq-csky-apb-intc.c | ||
| irq-csky-mpintc.c | ||
| irq-davinci-cp-intc.c | ||
| irq-digicolor.c | ||
| irq-dw-apb-ictl.c | ||
| irq-ftintc010.c | ||
| irq-gic-common.c | ||
| irq-gic-common.h | ||
| irq-gic-pm.c | ||
| irq-gic-realview.c | ||
| irq-gic-v2m.c | ||
| irq-gic-v3-its-fsl-mc-msi.c | ||
| irq-gic-v3-its-msi-parent.c | ||
| irq-gic-v3-its.c | ||
| irq-gic-v3-mbi.c | ||
| irq-gic-v3.c | ||
| irq-gic-v4.c | ||
| irq-gic.c | ||
| irq-goldfish-pic.c | ||
| irq-hip04.c | ||
| irq-i8259.c | ||
| irq-idt3243x.c | ||
| irq-imgpdc.c | ||
| irq-imx-gpcv2.c | ||
| irq-imx-intmux.c | ||
| irq-imx-irqsteer.c | ||
| irq-imx-mu-msi.c | ||
| irq-ingenic-tcu.c | ||
| irq-ingenic.c | ||
| irq-ixp4xx.c | ||
| irq-jcore-aic.c | ||
| irq-keystone.c | ||
| irq-lan966x-oic.c | ||
| irq-loongarch-avec.c | ||
| irq-loongarch-cpu.c | ||
| irq-loongson-eiointc.c | ||
| irq-loongson-htpic.c | ||
| irq-loongson-htvec.c | ||
| irq-loongson-liointc.c | ||
| irq-loongson-pch-lpc.c | ||
| irq-loongson-pch-msi.c | ||
| irq-loongson-pch-pic.c | ||
| irq-loongson.h | ||
| irq-lpc32xx.c | ||
| irq-ls-extirq.c | ||
| irq-ls-scfg-msi.c | ||
| irq-ls1x.c | ||
| irq-madera.c | ||
| irq-mbigen.c | ||
| irq-mchp-eic.c | ||
| irq-meson-gpio.c | ||
| irq-mips-cpu.c | ||
| irq-mips-gic.c | ||
| irq-mmp.c | ||
| irq-mscc-ocelot.c | ||
| irq-msi-lib.c | ||
| irq-msi-lib.h | ||
| irq-mst-intc.c | ||
| irq-mtk-cirq.c | ||
| irq-mtk-sysirq.c | ||
| irq-mvebu-gicp.c | ||
| irq-mvebu-icu.c | ||
| irq-mvebu-odmi.c | ||
| irq-mvebu-pic.c | ||
| irq-mvebu-sei.c | ||
| irq-mxs.c | ||
| irq-nvic.c | ||
| irq-omap-intc.c | ||
| irq-ompic.c | ||
| irq-or1k-pic.c | ||
| irq-orion.c | ||
| irq-owl-sirq.c | ||
| irq-partition-percpu.c | ||
| irq-pic32-evic.c | ||
| irq-pruss-intc.c | ||
| irq-qcom-mpm.c | ||
| irq-rda-intc.c | ||
| irq-realtek-rtl.c | ||
| irq-renesas-intc-irqpin.c | ||
| irq-renesas-irqc.c | ||
| irq-renesas-rza1.c | ||
| irq-renesas-rzg2l.c | ||
| irq-riscv-aplic-direct.c | ||
| irq-riscv-aplic-main.c | ||
| irq-riscv-aplic-main.h | ||
| irq-riscv-aplic-msi.c | ||
| irq-riscv-imsic-early.c | ||
| irq-riscv-imsic-platform.c | ||
| irq-riscv-imsic-state.c | ||
| irq-riscv-imsic-state.h | ||
| irq-riscv-intc.c | ||
| irq-sa11x0.c | ||
| irq-sifive-plic.c | ||
| irq-sl28cpld.c | ||
| irq-sni-exiu.c | ||
| irq-sp7021-intc.c | ||
| irq-st.c | ||
| irq-starfive-jh8100-intc.c | ||
| irq-stm32-exti.c | ||
| irq-stm32mp-exti.c | ||
| irq-sun4i.c | ||
| irq-sun6i-r.c | ||
| irq-sunxi-nmi.c | ||
| irq-tb10x.c | ||
| irq-tegra.c | ||
| irq-ti-sci-inta.c | ||
| irq-ti-sci-intr.c | ||
| irq-ts4800.c | ||
| irq-uniphier-aidet.c | ||
| irq-versatile-fpga.c | ||
| irq-vf610-mscm-ir.c | ||
| irq-vic.c | ||
| irq-vt8500.c | ||
| irq-wpcm450-aic.c | ||
| irq-xilinx-intc.c | ||
| irq-xtensa-mx.c | ||
| irq-xtensa-pic.c | ||
| irq-zevio.c | ||
| irqchip.c | ||
| qcom-irq-combiner.c | ||
| qcom-pdc.c | ||
| spear-shirq.c | ||