diff options
author | Stanislav Fomichev <stfomichev@yandex-team.ru> | 2014-07-18 13:17:27 +0200 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2014-07-18 21:48:52 +0200 |
commit | 6508fa761c330a1d2b4ae36199d08dbcb70e3ddb (patch) | |
tree | c5c76da37fddea1160d8a18ace06d89da3e20ec9 /kernel/trace/trace_functions_graph.c | |
parent | ring-buffer: Always run per-cpu ring buffer resize with schedule_work_on() (diff) | |
download | linux-6508fa761c330a1d2b4ae36199d08dbcb70e3ddb.tar.xz linux-6508fa761c330a1d2b4ae36199d08dbcb70e3ddb.zip |
tracing: let user specify tracing_thresh after selecting function_graph
Currently, tracing_thresh works only if we specify it before selecting
function_graph tracer. If we do the opposite, tracing_thresh will change
it's value, but it will not be applied.
To fix it, we add update_thresh callback which is called whenever
tracing_thresh is updated and for function_graph tracer we register
handler which reinitializes tracer depending on tracing_thresh.
Link: http://lkml.kernel.org/p/20140718111727.GA3206@stfomichev-desktop.yandex.net
Signed-off-by: Stanislav Fomichev <stfomichev@yandex-team.ru>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace_functions_graph.c')
-rw-r--r-- | kernel/trace/trace_functions_graph.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c index 2c944e6c4a9d..74d98820497c 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c @@ -475,6 +475,12 @@ static void graph_trace_reset(struct trace_array *tr) unregister_ftrace_graph(); } +int graph_trace_update_thresh(struct trace_array *tr) +{ + graph_trace_reset(tr); + return graph_trace_init(tr); +} + static int max_bytes_for_cpu; static enum print_line_t @@ -1525,6 +1531,7 @@ static struct trace_event graph_trace_ret_event = { static struct tracer graph_trace __tracer_data = { .name = "function_graph", + .update_thresh = graph_trace_update_thresh, .open = graph_trace_open, .pipe_open = graph_trace_open, .close = graph_trace_close, |