diff options
-rw-r--r-- | include/trace/ftrace.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h index 4163d93ccf38..5c7ab17cbb02 100644 --- a/include/trace/ftrace.h +++ b/include/trace/ftrace.h | |||
@@ -667,6 +667,12 @@ perf_trace_##call(void *__data, proto) \ | |||
667 | int rctx; \ | 667 | int rctx; \ |
668 | \ | 668 | \ |
669 | __data_size = ftrace_get_offsets_##call(&__data_offsets, args); \ | 669 | __data_size = ftrace_get_offsets_##call(&__data_offsets, args); \ |
670 | \ | ||
671 | head = this_cpu_ptr(event_call->perf_events); \ | ||
672 | if (__builtin_constant_p(!__task) && !__task && \ | ||
673 | hlist_empty(head)) \ | ||
674 | return; \ | ||
675 | \ | ||
670 | __entry_size = ALIGN(__data_size + sizeof(*entry) + sizeof(u32),\ | 676 | __entry_size = ALIGN(__data_size + sizeof(*entry) + sizeof(u32),\ |
671 | sizeof(u64)); \ | 677 | sizeof(u64)); \ |
672 | __entry_size -= sizeof(u32); \ | 678 | __entry_size -= sizeof(u32); \ |
@@ -681,7 +687,6 @@ perf_trace_##call(void *__data, proto) \ | |||
681 | \ | 687 | \ |
682 | { assign; } \ | 688 | { assign; } \ |
683 | \ | 689 | \ |
684 | head = this_cpu_ptr(event_call->perf_events); \ | ||
685 | perf_trace_buf_submit(entry, __entry_size, rctx, __addr, \ | 690 | perf_trace_buf_submit(entry, __entry_size, rctx, __addr, \ |
686 | __count, &__regs, head, __task); \ | 691 | __count, &__regs, head, __task); \ |
687 | } | 692 | } |