From: "Steven Rostedt (Red Hat)" <rostedt@xxxxxxxxxxx> Commit 33fddff24d05d71f97722cb7deec4964d39d10dc upstream There's no real difference between trace_buffer_unlock_commit() and trace_buffer_unlock_commit_regs() except that the former passes NULL to ftrace_stack_trace() instead of regs. Have the former be a static inline of the latter which passes NULL for regs. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> [backport: modify trace_buffer_unlock_commit() in include/linux/trace_events.h] Fixes: c5e0535fe67b ("tracing: Skip more functions when doing stack tracing of events") Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> --- include/linux/trace_events.h | 13 +++++++++---- kernel/trace/trace.c | 12 ------------ 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h index 311176f290b2..3c752a9928e4 100644 --- a/include/linux/trace_events.h +++ b/include/linux/trace_events.h @@ -168,15 +168,20 @@ struct ring_buffer_event * trace_current_buffer_lock_reserve(struct ring_buffer **current_buffer, int type, unsigned long len, unsigned long flags, int pc); -void trace_buffer_unlock_commit(struct trace_array *tr, - struct ring_buffer *buffer, - struct ring_buffer_event *event, - unsigned long flags, int pc); void trace_buffer_unlock_commit_regs(struct trace_array *tr, struct ring_buffer *buffer, struct ring_buffer_event *event, unsigned long flags, int pc, struct pt_regs *regs); + +static inline void trace_buffer_unlock_commit(struct trace_array *tr, + struct ring_buffer *buffer, + struct ring_buffer_event *event, + unsigned long flags, int pc) +{ + trace_buffer_unlock_commit_regs(tr, buffer, event, flags, pc, NULL); +} + void trace_current_buffer_discard_commit(struct ring_buffer *buffer, struct ring_buffer_event *event); diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 29fc55b89491..4cd6d4092e67 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -1698,18 +1698,6 @@ __buffer_unlock_commit(struct ring_buffer *buffer, struct ring_buffer_event *eve ring_buffer_unlock_commit(buffer, event); } -void trace_buffer_unlock_commit(struct trace_array *tr, - struct ring_buffer *buffer, - struct ring_buffer_event *event, - unsigned long flags, int pc) -{ - __buffer_unlock_commit(buffer, event); - - ftrace_trace_stack(tr, buffer, flags, 6, pc, NULL); - ftrace_trace_userstack(buffer, flags, pc); -} -EXPORT_SYMBOL_GPL(trace_buffer_unlock_commit); - static struct ring_buffer *temp_buffer; struct ring_buffer_event * -- 2.20.1