瀏覽代碼

tracepoints: samples, fix teardown

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>
Mathieu Desnoyers 16 年之前
父節點
當前提交
2504ea5edf
共有 2 個文件被更改,包括 2 次插入0 次删除
  1. 1 0
      samples/tracepoints/tracepoint-probe-sample.c
  2. 1 0
      samples/tracepoints/tracepoint-probe-sample2.c

+ 1 - 0
samples/tracepoints/tracepoint-probe-sample.c

@@ -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);

+ 1 - 0
samples/tracepoints/tracepoint-probe-sample2.c

@@ -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);