diff options
author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2008-10-28 10:51:53 +0800 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-03 10:28:52 +0100 |
commit | 127cafbb276266b1b8da967bfe25a062ab1d42ab (patch) | |
tree | 8f7183fa6f9a68b2bd3b3734da3575e4eff46a1d /include/linux/tracepoint.h | |
parent | 19dba33c43a2f0f2aa727ae075ec3b11330775ef (diff) | |
download | lwn-127cafbb276266b1b8da967bfe25a062ab1d42ab.tar.gz lwn-127cafbb276266b1b8da967bfe25a062ab1d42ab.zip |
tracepoint: introduce *_noupdate APIs.
Impact: add new tracepoint APIs to allow the batched registration of probes
new APIs separate tracepoint_probe_register(),
tracepoint_probe_unregister() into 2 steps. The first step of them
is just update tracepoint_entry, not connect or disconnect.
this patch introduces tracepoint_probe_update_all() for update all.
these APIs are very useful for registering lots of probes
but just updating once. Another very important thing is that
*_noupdate APIs do not require module_mutex.
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/tracepoint.h')
-rw-r--r-- | include/linux/tracepoint.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h index c5bb39c7a770..63064e9403f2 100644 --- a/include/linux/tracepoint.h +++ b/include/linux/tracepoint.h @@ -112,6 +112,10 @@ extern int tracepoint_probe_register(const char *name, void *probe); */ extern int tracepoint_probe_unregister(const char *name, void *probe); +extern int tracepoint_probe_register_noupdate(const char *name, void *probe); +extern int tracepoint_probe_unregister_noupdate(const char *name, void *probe); +extern void tracepoint_probe_update_all(void); + struct tracepoint_iter { struct module *module; struct tracepoint *tracepoint; |