Skip to content

Improve interrupt handling during machine kexec

Eliav Farber linux-arm-kernel linux-riscv linuxppc-dev lkml 4 versions – Applied

Status from this message: The following commit has been merged into the irq/core branch of tip:

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v6 Latest2 patches 1 replyApplied 2/2
  2. v52 patches 2 repliesSuperseded
  3. v42 patches 2 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v32 patches0 repliesSuperseded

Changes in v6 from the cover letter

- Change GENERIC_IRQ_KEXEC_CLEAR_VM_FORWARD to not be user selectable.

Patches in v6 All 2 applied

#Subject and filesSizeRepliesApplied
1/2kexec: Consolidate machine_kexec_mask_interrupts() implementationarch/arm/kernel/machine_kexec.c arch/arm64/Kconfig arch/arm64/kernel/machine_kexec.c +8 more+52 -1011 replyApplied
2/2kexec: Prevent redundant IRQ masking by checking state before shutdownkernel/irq/kexec.c+2 -60 repliesApplied

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v6 yet.

Read the v6 thread

Cover letter [PATCH v6 0/2] Improve interrupt handling during machine kexec

This patch series focuses on improving the machine_kexec_mask_interrupts() function by consolidating its implementation and optimizing its behavior to avoid redundant interrupt masking.

Patch Summary:
[PATCH v6 1/2] Move machine_kexec_mask_interrupts() to kernel/irq/kexec.c,
removing duplicate architecture-specific implementations.
[PATCH v6 2/2] Refine machine_kexec_mask_interrupts() to avoid re-masking
already-masked interrupts, resolving specific warnings triggered in GPIO IRQ flows.

Changes between v5 and v6:
- Change GENERIC_IRQ_KEXEC_CLEAR_VM_FORWARD to not be user selectable.

Changes between v4 and v5:
- The function machine_kexec_mask_interrupts() has been moved from kernel/kexec_core.c to a new file kernel/irq/kexec.c.
- A new configuration option, GENERIC_IRQ_KEXEC_CLEAR_VM_FORWARD, has been added.
- The parameters for the machine_kexec_mask_interrupts() function have been defined in reverse Christmas Tree style.
- The comment explaining the call to irq_set_irqchip_state() has been improved for clarity.
- The phrase 'This patch' has been removed from the commit message.

Changes between v3 and v4:
- Add missing <linux/irqdesc.h> and <linux/irq.h> includes.

Eliav Farber (2):
kexec: Consolidate machine_kexec_mask_interrupts() implementation
kexec: Prevent redundant IRQ masking by checking state before shutdown

 arch/arm/kernel/machine_kexec.c   | 23 --------------------
 arch/arm64/Kconfig                |  1 +
 arch/arm64/kernel/machine_kexec.c | 31 --------------------------
 arch/powerpc/include/asm/kexec.h  |  1 -
 arch/powerpc/kexec/core.c         | 22 -------------------
 arch/powerpc/kexec/core_32.c      |  1 +
 arch/riscv/kernel/machine_kexec.c | 23 --------------------
 include/linux/irq.h               |  3 +++
 kernel/irq/Kconfig                |  6 ++++++
 kernel/irq/Makefile               |  2 +-
 kernel/irq/kexec.c                | 36 +++++++++++++++++++++++++++++++
 11 files changed, 48 insertions(+), 101 deletions(-)
 create mode 100644 kernel/irq/kexec.c
Signature · 1 line
2.40.1