diff options
author | Jason Baron <jbaron@redhat.com> | 2010-09-17 11:09:13 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2010-09-22 16:31:01 -0400 |
commit | 8f7b50c514206211cc282a4247f7b12f18dee674 (patch) | |
tree | 8d69af92e9ba46f8f775a300ba863040c817e77c /include/linux/tracepoint.h | |
parent | 4c3ef6d79328c0e23ade60cbfc8d496123a6855c (diff) | |
download | op-kernel-dev-8f7b50c514206211cc282a4247f7b12f18dee674.zip op-kernel-dev-8f7b50c514206211cc282a4247f7b12f18dee674.tar.gz |
jump label: Tracepoint support for jump labels
Make use of the jump label infrastructure for tracepoints.
Signed-off-by: Jason Baron <jbaron@redhat.com>
LKML-Reference: <a9ba2056e2c9cf332c3c300b577463ce66ff23a8.1284733808.git.jbaron@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'include/linux/tracepoint.h')
-rw-r--r-- | include/linux/tracepoint.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h index 103d1b6..a4a90b67 100644 --- a/include/linux/tracepoint.h +++ b/include/linux/tracepoint.h @@ -17,6 +17,7 @@ #include <linux/errno.h> #include <linux/types.h> #include <linux/rcupdate.h> +#include <linux/jump_label.h> struct module; struct tracepoint; @@ -145,7 +146,9 @@ static inline void tracepoint_update_probe_range(struct tracepoint *begin, extern struct tracepoint __tracepoint_##name; \ static inline void trace_##name(proto) \ { \ - if (unlikely(__tracepoint_##name.state)) \ + JUMP_LABEL(&__tracepoint_##name.state, do_trace); \ + return; \ +do_trace: \ __DO_TRACE(&__tracepoint_##name, \ TP_PROTO(data_proto), \ TP_ARGS(data_args)); \ |