aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTodd Brandt <todd.e.brandt@linux.intel.com>2017-03-02 19:12:15 -0500
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2017-03-03 09:45:01 -0500
commit65a50c656276b0846bea09dd011c0a3d35b77f3e (patch)
treef75fe3c818f323dc288fca8ba60dbdcf3b2db2a4
parentbf7165cfa23695c51998231c4efa080fe1d3548d (diff)
ftrace/graph: Add ftrace_graph_max_depth kernel parameter
Early trace callgraphs can be extremely large on systems with several seconds of boot time. The max_depth parameter limits how deep the graph trace goes and reduces the output size. This parameter is the same as the max_graph_depth file in tracefs. Link: http://lkml.kernel.org/r/1488499935-23216-1-git-send-email-todd.e.brandt@linux.intel.com Signed-off-by: Todd Brandt <todd.e.brandt@linux.intel.com> [ changed comments about debugfs to tracefs ] Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r--Documentation/admin-guide/kernel-parameters.txt6
-rw-r--r--kernel/trace/ftrace.c9
2 files changed, 15 insertions, 0 deletions
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 21e2d8863705..1c9016b27ee9 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1173,6 +1173,12 @@
1173 functions that can be changed at run time by the 1173 functions that can be changed at run time by the
1174 set_graph_notrace file in the debugfs tracing directory. 1174 set_graph_notrace file in the debugfs tracing directory.
1175 1175
1176 ftrace_graph_max_depth=<uint>
1177 [FTRACE] Used with the function graph tracer. This is
1178 the max depth it will trace into a function. This value
1179 can be changed at run time by the max_graph_depth file
1180 in the tracefs tracing directory. default: 0 (no limit)
1181
1176 gamecon.map[2|3]= 1182 gamecon.map[2|3]=
1177 [HW,JOY] Multisystem joystick and NES/SNES/PSX pad 1183 [HW,JOY] Multisystem joystick and NES/SNES/PSX pad
1178 support via parallel port (up to 5 devices per port) 1184 support via parallel port (up to 5 devices per port)
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 44122e7a6418..d129ae51329a 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -4415,6 +4415,15 @@ static int __init set_graph_notrace_function(char *str)
4415} 4415}
4416__setup("ftrace_graph_notrace=", set_graph_notrace_function); 4416__setup("ftrace_graph_notrace=", set_graph_notrace_function);
4417 4417
4418static int __init set_graph_max_depth_function(char *str)
4419{
4420 if (!str)
4421 return 0;
4422 fgraph_max_depth = simple_strtoul(str, NULL, 0);
4423 return 1;
4424}
4425__setup("ftrace_graph_max_depth=", set_graph_max_depth_function);
4426
4418static void __init set_ftrace_early_graph(char *buf, int enable) 4427static void __init set_ftrace_early_graph(char *buf, int enable)
4419{ 4428{
4420 int ret; 4429 int ret;