Hi, [Changing the title to make it reflex more the status of the series.]
Version one[1] of this series attempted to fix the issue reported by Zenghui[2] when using the function_graph tracer with IRQ priority masking. Since then, I realized that priority masking and the use of Pseudo-NMIs was more broken than I thought. * Patch 1 is just some rework * Patch 2 replaces the previous irqflags tracing "simplification" with a proper fix when tracing Pseudo-NMI * Patch 3 fixes the function_graph issue when using priority masking * Patch 4 introduces some debug to hopefully avoid breaking things in the future * Patch 5 is a rebased version of the patch sent by Wei Li[3] fixing an error that can happen during on some platform using the priority masking feature Changes since V1 [1]: - Fix possible race condition between NMI and trace irqflags - Simplify the representation of PSR.I in the PMR value - Include Wei Li's fix - Rebase on v5.1-rc7 [1] https://marc.info/?l=linux-arm-kernel&m=155542458004480&w=2 [2] https://www.spinics.net/lists/arm-kernel/msg716956.html [3] https://www.spinics.net/lists/arm-kernel/msg722171.html Cheers, Julien --> Julien Thierry (4): arm64: Do not enable IRQs for ct_user_exit arm64: Fix interrupt tracing in the presence of NMIs arm64: Fix incorrect irqflag restore for priority masking arm64: irqflags: Introduce explicit debugging for IRQ priorities Wei Li (1): arm64: fix kernel stack overflow in kdump capture kernel arch/arm64/Kconfig | 11 +++++ arch/arm64/include/asm/arch_gicv3.h | 4 +- arch/arm64/include/asm/assembler.h | 9 ++++ arch/arm64/include/asm/daifflags.h | 31 +++++++++++--- arch/arm64/include/asm/irqflags.h | 83 +++++++++++++++++++------------------ arch/arm64/include/asm/kvm_host.h | 4 +- arch/arm64/include/asm/ptrace.h | 10 ++++- arch/arm64/kernel/entry.S | 76 +++++++++++++++++++++++++-------- arch/arm64/kernel/irq.c | 26 ++++++++++++ arch/arm64/kernel/process.c | 2 +- arch/arm64/kernel/smp.c | 6 +-- arch/arm64/kvm/hyp/switch.c | 2 +- drivers/irqchip/irq-gic-v3.c | 6 +++ kernel/irq/irqdesc.c | 8 +++- 14 files changed, 202 insertions(+), 76 deletions(-) -- 1.9.1