tracing: Last minute fixes for 7.0
Subsystems (2)
cover tracing: Last minute fixes for 7.0
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace/for-next
Head SHA1: fa4820b893843f7ad5e1b5c446a92426c5c946ce
Haoyang LIU (1):
tracing: Fix indentation of return statement in print_trace_fmt()
Masami Hiramatsu (Google) (2):
tracing: Fix to set write permission to per-cpu buffer_size_kb
tracing: Reset last_boot_info if ring buffer is reset
----
kernel/trace/trace.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
PATCH 1/3 tracing: Fix to set write permission to per-cpu buffer_size_kb
From: "Masami Hiramatsu (Google)" <[email protected]>
Since the per-cpu buffer_size_kb file is writable for changing per-cpu ring buffer size, the file should have the write access permission.
--- kernel/trace/trace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
kernel/trace/trace.c +1 -1
@@ -8613,7 +8613,7 @@ tracing_init_tracefs_percpu(struct trace_array *tr, long cpu)trace_create_cpu_file ("stats" ,TRACE_MODE_READ , d_cpu, tr, cpu, &tracing_stats_fops); -trace_create_cpu_file ("buffer_size_kb" ,TRACE_MODE_READ , d_cpu, +trace_create_cpu_file ("buffer_size_kb" ,TRACE_MODE_WRITE , d_cpu, tr, cpu, &tracing_entries_fops);if (tr->range_addr_start)
Signature · 1 line
2.51.0
PATCH 2/3 tracing: Reset last_boot_info if ring buffer is reset
In reply to Steven RostedtFrom: "Masami Hiramatsu (Google)" <[email protected]>
Commit 32dc0042528d ("tracing: Reset last-boot buffers when reading out all cpu buffers") resets the last_boot_info when user read out all data via trace_pipe* files. But it is not reset when user resets the buffer from other files. (e.g. write trace file)
Reset it when the corresponding ring buffer is reset too.
--- kernel/trace/trace.c | 6 ++++++ 1 file changed, 6 insertions(+)
kernel/trace/trace.c +6 -0
@@ -4127,6 +4127,8 @@ static int tracing_single_release_tr(struct inode *inode, struct file *file)return single_release (inode, file); } +static bool update_last_data_if_empty (struct trace_array *tr); +static int tracing_open (struct inode *inode,struct file *file) {struct trace_array *tr = inode->i_private;
@@ -4151,6 +4153,8 @@ static int tracing_open(struct inode *inode, struct file *file)tracing_reset_online_cpus (trace_buf); elsetracing_reset_cpu (trace_buf ,cpu ); + +update_last_data_if_empty (tr); }if (file->f_mode &FMODE_READ ) {
@@ -5215,6 +5219,7 @@ tracing_set_trace_read(struct file *filp, char __user *ubuf,int tracer_init (struct tracer *t,struct trace_array *tr) {tracing_reset_online_cpus (&tr->array_buffer); +update_last_data_if_empty (tr);return t->init (tr); }
@@ -7028,6 +7033,7 @@ int tracing_set_clock(struct trace_array *tr, const char *clockstr)ring_buffer_set_clock (tr->snapshot_buffer.buffer, trace_clocks[i].func);tracing_reset_online_cpus (&tr->snapshot_buffer);#endif +update_last_data_if_empty (tr);if (tr->scratch && !(tr->flags &TRACE_ARRAY_FL_LAST_BOOT )) {struct trace_scratch *tscratch = tr->scratch;
Signature · 1 line
2.51.0
PATCH 3/3 tracing: Fix indentation of return statement in print_trace_fmt()
In reply to Steven RostedtFrom: Haoyang LIU <[email protected]>
The return statement inside the nested if block in print_trace_fmt() is not properly indented, making the code structure unclear. This was flagged by smatch as a warning.
Add proper indentation to the return statement to match the kernel coding style and improve readability.
--- kernel/trace/trace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
kernel/trace/trace.c +1 -1
@@ -3537,7 +3537,7 @@ static enum print_line_t print_trace_fmt(struct trace_iterator *iter)/* ftrace and system call events are still OK */ if ((event->type > __TRACE_LAST_TYPE) && !is_syscall_event (event)) -return print_event_fields (iter, event); +return print_event_fields (iter, event); }return event->funcs->trace (iter, sym_flags, event); }
Signature · 1 line
2.51.0