• Linus Torvalds's avatar
    Merge tag 'irq-core-2024-05-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6bfd2d44
    Linus Torvalds authored
    Pull interrupt subsystem updates from Thomas Gleixner:
     "Core code:
    
       - Interrupt storm detection for the lockup watchdog:
    
         Lockups which are caused by interrupt storms are not easy to debug
         because there is no information about the events which make the
         lockup detector trigger.
    
         To make this more user friendly, provide an extenstion to interrupt
         statistics which allows to take snapshots and an interface to
         retrieve the delta to the snapshot. Use this new mechanism in the
         watchdog code to do a two stage lockup analysis by taking the
         snapshot and printing the deltas for the topmost active interrupts
         on the second trigger.
    
         Note: This contains both the interrupt and the watchdog changes as
         the latter depend on the former obviously.
    
       - Avoid summation loops in the /proc/interrupts output and use the
         global counter when possible
    
       - Skip suspended interrupts on CPU hotplug operations to ensure that
         they are not delivered before the system resumes the device drivers
         when coming out of suspend.
    
       - On CPU hot-unplug interrupts which are affine to the outgoing CPU
         are migrated to a different CPU in the affinity mask. This can fail
         when the CPUs have no vectors left. Instead of giving up try to
         migrate it to any online CPU and thereby breaking the affinity
         setting in order to prevent a stale device interrupt which targets
         an offline CPU
    
       - The usual small cleanups
    
      Driver code:
    
       - Support for the RISCV AIA MSI controller
    
       - Make the interrupt allocation for the Loongson PCH controller more
         flexible to prevent vector exhaustion
    
       - The usual set of cleanups and fixes all over the place"
    
    * tag 'irq-core-2024-05-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
      irqchip/gic-v3-its: Remove BUG_ON in its_vpe_irq_domain_alloc
      cpuidle: Avoid explicit cpumask allocation on stack
      irqchip/sifive-plic: Avoid explicit cpumask allocation on stack
      irqchip/riscv-aplic-direct: Avoid explicit cpumask allocation on stack
      irqchip/loongson-eiointc: Avoid explicit cpumask allocation on stack
      irqchip/gic-v3-its: Avoid explicit cpumask allocation on stack
      irqchip/irq-bcm6345-l1: Avoid explicit cpumask allocation on stack
      cpumask: Introduce cpumask_first_and_and()
      irqchip/irq-brcmstb-l2: Avoid saving mask on shutdown
      genirq: Reuse irq_is_nmi()
      genirq/cpuhotplug: Retry with cpu_online_mask when migration fails
      genirq/cpuhotplug: Skip suspended interrupts when restoring affinity
      arm64: dts: st: Add interrupt parent to pinctrl on stm32mp251
      arm64: dts: st: Add exti1 and exti2 nodes on stm32mp251
      ARM: dts: stm32: List exti parent interrupts on stm32mp131
      ARM: dts: stm32: List exti parent interrupts on stm32mp151
      arm64: Kconfig.platforms: Enable STM32_EXTI for ARCH_STM32
      irqchip/stm32-exti: Mark events reserved with RIF configuration check
      irqchip/stm32-exti: Skip secure events
      irqchip/stm32-exti: Convert driver to standard PM
      ...
    6bfd2d44
Kconfig.debug 98.7 KB