aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2009-04-20 18:16:44 -0400
committerSteven Rostedt <rostedt@goodmis.org>2009-04-20 18:16:44 -0400
commitcb4764a6dbffd9bb3cf759421ae82384071a933d (patch)
tree36f28716865fdac826848f23160d7a25e332f8f5
parentaa18efb2a2f07e1cf062039848e9d369bb358724 (diff)
tracing: use nowakeup version of commit for function event trace tests
The startup tests for the event tracer also runs with the function tracer enabled. The "wakeup" version of the trace commit was used which can grab spinlocks. If a task was preempted by an NMI that called a function being traced, it could deadlock due to the function tracer trying to grab the same lock. Thanks to Frederic Weisbecker for pointing out where the bug was. Reported-by: Ingo Molnar <mingo@elte.hu> Reported-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--kernel/trace/trace_events.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index 98daf5dc74a6..672b195f86c9 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -1164,7 +1164,7 @@ function_test_events_call(unsigned long ip, unsigned long parent_ip)
1164 entry->ip = ip; 1164 entry->ip = ip;
1165 entry->parent_ip = parent_ip; 1165 entry->parent_ip = parent_ip;
1166 1166
1167 trace_current_buffer_unlock_commit(event, flags, pc); 1167 trace_nowake_buffer_unlock_commit(event, flags, pc);
1168 1168
1169 out: 1169 out:
1170 atomic_dec(&per_cpu(test_event_disable, cpu)); 1170 atomic_dec(&per_cpu(test_event_disable, cpu));