On Mon, 11 Oct 2021 22:39:16 PDT (-0700), yun.wang@xxxxxxxxxxxxxxxxx wrote:
The testing show that perf_ftrace_function_call() are using smp_processor_id() with preemption enabled, all the checking on CPU could be wrong after preemption, PATCH 1/2 will fix that. Besides, as Peter point out, the testing of recursion within the section between ftrace_test_recursion_trylock()/_unlock() pair also need the preemption disabled as the documentation explained, PATCH 2/2 will make sure on that. Michael Wang (2): ftrace: disable preemption on the testing of recursion ftrace: prevent preemption in perf_ftrace_function_call() arch/csky/kernel/probes/ftrace.c | 2 -- arch/parisc/kernel/ftrace.c | 2 -- arch/powerpc/kernel/kprobes-ftrace.c | 2 -- arch/riscv/kernel/probes/ftrace.c | 2 -- arch/x86/kernel/kprobes/ftrace.c | 2 -- include/linux/trace_recursion.h | 10 +++++++++- kernel/livepatch/patch.c | 6 ------ kernel/trace/trace_event_perf.c | 17 +++++++++++++---- kernel/trace/trace_functions.c | 5 ----- 9 files changed, 22 insertions(+), 26 deletions(-)
Acked-by: Palmer Dabbelt <palmerdabbelt@xxxxxxxxxx> # RISC-V