]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.trace/tracepoints-documentation-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-documentation-fix-teardown.patch
diff --git a/src/patches/suse-2.6.27.31/patches.trace/tracepoints-documentation-fix-teardown.patch b/src/patches/suse-2.6.27.31/patches.trace/tracepoints-documentation-fix-teardown.patch
new file mode 100644 (file)
index 0000000..8090db4
--- /dev/null
@@ -0,0 +1,39 @@
+From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
+Subject: Tracepoints : documentation 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>
+---
+ Documentation/tracepoints.txt |   10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+Index: linux-2.6-lttng/Documentation/tracepoints.txt
+===================================================================
+--- linux-2.6-lttng.orig/Documentation/tracepoints.txt 2008-07-31 09:22:56.000000000 -0400
++++ linux-2.6-lttng/Documentation/tracepoints.txt      2008-07-31 09:24:54.000000000 -0400
+@@ -68,10 +68,12 @@ Where :
+ Connecting a function (probe) to a tracepoint is done by providing a probe
+ (function to call) for the specific tracepoint through
+ register_trace_subsys_eventname().  Removing a probe is done through
+-unregister_trace_subsys_eventname(); it will remove the probe sure there is no
+-caller left using the probe when it returns. Probe removal is preempt-safe
+-because preemption is disabled around the probe call. See the "Probe example"
+-section below for a sample probe module.
++unregister_trace_subsys_eventname(); it will remove the probe.
++marker_synchronize_unregister() must be called before the end of the module exit
++function to make sure there is no caller left using the probe. This, and the
++fact that preemption is disabled around the probe call, make sure that probe
++removal and module unload are safe. See the "Probe example" section below for a
++sample probe module.
+ The tracepoint mechanism supports inserting multiple instances of the same
+ tracepoint, but a single definition must be made of a given tracepoint name over