提交 8fd88d15 编写于 作者: M Mathieu Desnoyers 提交者: Ingo Molnar

tracepoints: documentation fix for teardown

Impact: documentation update

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: NMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 7e066fb8
...@@ -70,10 +70,12 @@ Where : ...@@ -70,10 +70,12 @@ Where :
Connecting a function (probe) to a tracepoint is done by providing a probe Connecting a function (probe) to a tracepoint is done by providing a probe
(function to call) for the specific tracepoint through (function to call) for the specific tracepoint through
register_trace_subsys_eventname(). Removing a probe is done through register_trace_subsys_eventname(). Removing a probe is done through
unregister_trace_subsys_eventname(); it will remove the probe sure there is no unregister_trace_subsys_eventname(); it will remove the probe.
caller left using the probe when it returns. Probe removal is preempt-safe marker_synchronize_unregister() must be called before the end of the module exit
because preemption is disabled around the probe call. See the "Probe example" function to make sure there is no caller left using the probe. This, and the
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 tracepoint mechanism supports inserting multiple instances of the same The tracepoint mechanism supports inserting multiple instances of the same
tracepoint, but a single definition must be made of a given tracepoint name over tracepoint, but a single definition must be made of a given tracepoint name over
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册