[PATCH v6 0/2] Improve interrupt handling during machine kexec
Eliav Farber
farbere at amazon.com
Wed Dec 4 06:20:01 PST 2024
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
--
2.40.1
More information about the linux-arm-kernel
mailing list