tracing: Have ftrace_dump_on_oops kernel parameter take numbers
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 17 Jun 2021 20:20:41 +0000 (16:20 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 17 Jun 2021 20:23:42 +0000 (16:23 -0400)
The kernel parameter for ftrace_dump_on_oops can take a single assignment.
That is, it can be:

  ftrace_dump_on_oops or ftrace_dump_on_oops=orig_cpu

But the content in the sysctl file is a number.

 0 for disabled
 1 for ftrace_dump_on_oops (all CPUs)
 2 for ftrace_dump_on_oops (orig CPU)

Allow the kernel command line to take a number as well to match the sysctl
numbers.

That is:

  ftrace_dump_on_oops=1 is the same as ftrace_dump_on_oops

and

  ftrace_dump_on_oops=2 is the same as ftrace_dump_on_oops=orig_cpu

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace.c

index bbc63ac..d352fb4 100644 (file)
@@ -197,12 +197,12 @@ __setup("ftrace=", set_cmdline_ftrace);
 
 static int __init set_ftrace_dump_on_oops(char *str)
 {
-       if (*str++ != '=' || !*str) {
+       if (*str++ != '=' || !*str || !strcmp("1", str)) {
                ftrace_dump_on_oops = DUMP_ALL;
                return 1;
        }
 
-       if (!strcmp("orig_cpu", str)) {
+       if (!strcmp("orig_cpu", str) || !strcmp("2", str)) {
                ftrace_dump_on_oops = DUMP_ORIG;
                 return 1;
         }