diff options
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 103d1b61aacb..a4a90b6726ce 100644 --- a/include/linux/tracepoint.h +++ b/include/linux/tracepoint.h | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #include <linux/errno.h> | 17 | #include <linux/errno.h> | 
| 18 | #include <linux/types.h> | 18 | #include <linux/types.h> | 
| 19 | #include <linux/rcupdate.h> | 19 | #include <linux/rcupdate.h> | 
| 20 | #include <linux/jump_label.h> | ||
| 20 | 21 | ||
| 21 | struct module; | 22 | struct module; | 
| 22 | struct tracepoint; | 23 | struct tracepoint; | 
| @@ -145,7 +146,9 @@ static inline void tracepoint_update_probe_range(struct tracepoint *begin, | |||
| 145 | extern struct tracepoint __tracepoint_##name; \ | 146 | extern struct tracepoint __tracepoint_##name; \ | 
| 146 | static inline void trace_##name(proto) \ | 147 | static inline void trace_##name(proto) \ | 
| 147 | { \ | 148 | { \ | 
| 148 | if (unlikely(__tracepoint_##name.state)) \ | 149 | JUMP_LABEL(&__tracepoint_##name.state, do_trace); \ | 
| 150 | return; \ | ||
| 151 | do_trace: \ | ||
| 149 | __DO_TRACE(&__tracepoint_##name, \ | 152 | __DO_TRACE(&__tracepoint_##name, \ | 
| 150 | TP_PROTO(data_proto), \ | 153 | TP_PROTO(data_proto), \ | 
| 151 | TP_ARGS(data_args)); \ | 154 | TP_ARGS(data_args)); \ | 
