]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.trace/tracepoints-samples-fix-teardown.patch
Move xen patchset to new version's subdir.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.trace / tracepoints-samples-fix-teardown.patch
diff --git a/src/patches/suse-2.6.27.31/patches.trace/tracepoints-samples-fix-teardown.patch b/src/patches/suse-2.6.27.31/patches.trace/tracepoints-samples-fix-teardown.patch
new file mode 100644 (file)
index 0000000..95dd907
--- /dev/null
@@ -0,0 +1,43 @@
+From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
+Subject: Tracepoints : Samples fix teardown
+
+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>
+CC: Rusty Russell <rusty@rustcorp.com.au>
+CC: "Frank Ch. Eigler" <fche@redhat.com>
+CC: Ingo Molnar <mingo@elte.hu>
+CC: Peter Zijlstra <peterz@infradead.org>
+CC: Steven Rostedt <rostedt@goodmis.org>
+Acked-by: Jan Blunck <jblunck@suse.de>
+---
+ samples/tracepoints/tracepoint-probe-sample.c  |    1 +
+ samples/tracepoints/tracepoint-probe-sample2.c |    1 +
+ 2 files changed, 2 insertions(+)
+
+Index: linux-2.6-lttng/samples/tracepoints/tracepoint-probe-sample.c
+===================================================================
+--- linux-2.6-lttng.orig/samples/tracepoints/tracepoint-probe-sample.c 2008-07-31 09:26:51.000000000 -0400
++++ linux-2.6-lttng/samples/tracepoints/tracepoint-probe-sample.c      2008-07-31 09:26:52.000000000 -0400
+@@ -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: linux-2.6-lttng/samples/tracepoints/tracepoint-probe-sample2.c
+===================================================================
+--- linux-2.6-lttng.orig/samples/tracepoints/tracepoint-probe-sample2.c        2008-07-31 09:26:51.000000000 -0400
++++ linux-2.6-lttng/samples/tracepoints/tracepoint-probe-sample2.c     2008-07-31 09:26:52.000000000 -0400
+@@ -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);