Skip to content

Commit 7acf3a1

Browse files
svens-s390rostedt
authored andcommitted
tracing: Ensure trace buffer is at least 4096 bytes large
Booting the kernel with 'trace_buf_size=1' give a warning at boot during the ftrace selftests: [ 0.892809] Running postponed tracer tests: [ 0.892893] Testing tracer function: [ 0.901899] Callback from call_rcu_tasks_trace() invoked. [ 0.983829] Callback from call_rcu_tasks_rude() invoked. [ 1.072003] .. bad ring buffer .. corrupted trace buffer .. [ 1.091944] Callback from call_rcu_tasks() invoked. [ 1.097695] PASSED [ 1.097701] Testing dynamic ftrace: .. filter failed count=0 ..FAILED! [ 1.353474] ------------[ cut here ]------------ [ 1.353478] WARNING: CPU: 0 PID: 1 at kernel/trace/trace.c:1951 run_tracer_selftest+0x13c/0x1b0 Therefore enforce a minimum of 4096 bytes to make the selftest pass. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Sven Schnelle <[email protected]> Signed-off-by: Steven Rostedt (Google) <[email protected]>
1 parent bc82c38 commit 7acf3a1

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

kernel/trace/trace.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1474,10 +1474,12 @@ static int __init set_buf_size(char *str)
14741474
if (!str)
14751475
return 0;
14761476
buf_size = memparse(str, &str);
1477-
/* nr_entries can not be zero */
1478-
if (buf_size == 0)
1479-
return 0;
1480-
trace_buf_size = buf_size;
1477+
/*
1478+
* nr_entries can not be zero and the startup
1479+
* tests require some buffer space. Therefore
1480+
* ensure we have at least 4096 bytes of buffer.
1481+
*/
1482+
trace_buf_size = max(4096UL, buf_size);
14811483
return 1;
14821484
}
14831485
__setup("trace_buf_size=", set_buf_size);

0 commit comments

Comments
 (0)