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>
This commit is contained in:
committed by
Ingo Molnar
parent
8a49542c05
commit
3771f07711
@@ -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); \
|
||||
}
|
||||
|
Reference in New Issue
Block a user