tracepoints: samples, fix teardown
Mathieu Desnoyers [Fri, 14 Nov 2008 22:47:41 +0000 (17:47 -0500)]
Impact: fix a bug in sample tracepoints

Need a tracepoint_synchronize_unregister() before the end of exit() to
make sure every probe callers have exited the non preemptible section
and thus are not executing the probe code anymore.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

samples/tracepoints/tracepoint-probe-sample.c
samples/tracepoints/tracepoint-probe-sample2.c

index 55abfdd..e3a9648 100644 (file)
@@ -46,6 +46,7 @@ void __exit tp_sample_trace_exit(void)
 {
        unregister_trace_subsys_eventb(probe_subsys_eventb);
        unregister_trace_subsys_event(probe_subsys_event);
+       tracepoint_synchronize_unregister();
 }
 
 module_exit(tp_sample_trace_exit);
index 5e9fcf4..685a5ac 100644 (file)
@@ -33,6 +33,7 @@ module_init(tp_sample_trace_init);
 void __exit tp_sample_trace_exit(void)
 {
        unregister_trace_subsys_event(probe_subsys_event);
+       tracepoint_synchronize_unregister();
 }
 
 module_exit(tp_sample_trace_exit);