Commit 91a8d46c authored by Mathieu Desnoyers's avatar Mathieu Desnoyers Committed by Ingo Molnar

markers: documentation fix for teardown

Document the need for a marker_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: default avatarMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 531d2975
...@@ -50,10 +50,12 @@ Connecting a function (probe) to a marker is done by providing a probe (function ...@@ -50,10 +50,12 @@ Connecting a function (probe) to a marker is done by providing a probe (function
to call) for the specific marker through marker_probe_register() and can be to call) for the specific marker through marker_probe_register() and can be
activated by calling marker_arm(). Marker deactivation can be done by calling activated by calling marker_arm(). Marker deactivation can be done by calling
marker_disarm() as many times as marker_arm() has been called. Removing a probe marker_disarm() as many times as marker_arm() has been called. Removing a probe
is done through marker_probe_unregister(); it will disarm the probe and make is done through marker_probe_unregister(); it will disarm the probe.
sure there is no caller left using the probe when it returns. Probe removal is marker_synchronize_unregister() must be called before the end of the module exit
preempt-safe because preemption is disabled around the probe call. See the function to make sure there is no caller left using the probe. This, and the
"Probe example" section below for a sample probe module. 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 marker mechanism supports inserting multiple instances of the same marker. The marker mechanism supports inserting multiple instances of the same marker.
Markers can be put in inline functions, inlined static functions, and Markers can be put in inline functions, inlined static functions, and
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment