summaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2010-05-21 12:31:09 +0200
committerIngo Molnar <mingo@elte.hu>2010-05-31 08:46:09 +0200
commit3771f0771154675d4a0ca780be2411f3cc357208 (patch)
tree106512f307e2aa0a89f92c01598d5fa75903af47 /include/trace
parent8a49542c0554af7d0073aac0ee73ee65b807ef34 (diff)
downloadop-kernel-dev-3771f0771154675d4a0ca780be2411f3cc357208.zip
op-kernel-dev-3771f0771154675d4a0ca780be2411f3cc357208.tar.gz
perf_events, trace: Fix probe unregister race
tracepoint_probe_unregister() does not synchronize against the probe callbacks, so do that explicitly. This properly serializes the callbacks and the free of the data used therein. Also, use this_cpu_ptr() where possible. Acked-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <1274438476.1674.1702.camel@laptop> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/ftrace.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h
index 3d685d1..5a64905 100644
--- a/include/trace/ftrace.h
+++ b/include/trace/ftrace.h
@@ -725,7 +725,7 @@ perf_trace_##call(void *__data, proto) \
\
{ assign; } \
\
- head = per_cpu_ptr(event_call->perf_events, smp_processor_id());\
+ head = this_cpu_ptr(event_call->perf_events); \
perf_trace_buf_submit(entry, __entry_size, rctx, __addr, \
__count, &__regs, head); \
}
OpenPOWER on IntegriCloud