--- v3
+++ v5
@@ -5,15 +5,21 @@
pair require the preemption to be disabled as 'Documentation/trace/ftrace-uses.rst'
explained, but currently the work is done outside of the helpers.
-Patch 1/2 will make sure preemption disabled after trylock() succeed,
-patch 2/2 will do smp_processor_id() checking after trylock to address the
+And since the internal using of trace_test_and_set_recursion()
+and trace_clear_recursion() also require preemption to be disabled, we
+can just merge the logical together.
+
+Patch 1/2 will make sure preemption disabled when recursion lock succeed,
+patch 2/2 will do smp_processor_id() checking after trylock() to address the
issue.
v1: https://lore.kernel.org/all/8c7de46d-9869-aa5e-2bb9-5dbc2eda395e@linux.alibaba.com/
v2: https://lore.kernel.org/all/b1d7fe43-ce84-0ed7-32f7-ea1d12d0b716@linux.alibaba.com/
+v3: https://lore.kernel.org/all/609b565a-ed6e-a1da-f025-166691b5d994@linux.alibaba.com/
+V4: https://lore.kernel.org/all/32a36348-69ee-6464-390c-3a8d6e9d2b53@linux.alibaba.com/
Michael Wang (2):
- ftrace: disable preemption between ftrace_test_recursion_trylock/unlock()
+ ftrace: disable preemption when recursion locked
ftrace: do CPU checking after preemption disabled
arch/csky/kernel/probes/ftrace.c | 2 --
@@ -21,11 +27,12 @@
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 | 17 ++++++++++++++++-
+ include/linux/trace_recursion.h | 11 ++++++++++-
kernel/livepatch/patch.c | 13 +++++++------
+ kernel/trace/ftrace.c | 15 +++++----------
kernel/trace/trace_event_perf.c | 6 +++---
kernel/trace/trace_functions.c | 5 -----
- 9 files changed, 26 insertions(+), 25 deletions(-)
+ 10 files changed, 25 insertions(+), 35 deletions(-)
--
1.8.3.1