diff options
author | Stanislav Fomichev <stfomichev@yandex-team.ru> | 2014-07-18 15:17:27 +0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2014-07-18 15:48:52 -0400 |
commit | 6508fa761c330a1d2b4ae36199d08dbcb70e3ddb (patch) | |
tree | c5c76da37fddea1160d8a18ace06d89da3e20ec9 /kernel/trace/trace.h | |
parent | 021c5b34452d52e51664f09b98cd50c5495e74b6 (diff) | |
download | op-kernel-dev-6508fa761c330a1d2b4ae36199d08dbcb70e3ddb.zip op-kernel-dev-6508fa761c330a1d2b4ae36199d08dbcb70e3ddb.tar.gz |
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.h')
-rw-r--r-- | kernel/trace/trace.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 9258f5a..385391f 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -339,6 +339,7 @@ struct tracer_flags { * @reset: called when one switches to another tracer * @start: called when tracing is unpaused (echo 1 > tracing_enabled) * @stop: called when tracing is paused (echo 0 > tracing_enabled) + * @update_thresh: called when tracing_thresh is updated * @open: called when the trace file is opened * @pipe_open: called when the trace_pipe file is opened * @close: called when the trace file is released @@ -357,6 +358,7 @@ struct tracer { void (*reset)(struct trace_array *tr); void (*start)(struct trace_array *tr); void (*stop)(struct trace_array *tr); + int (*update_thresh)(struct trace_array *tr); void (*open)(struct trace_iterator *iter); void (*pipe_open)(struct trace_iterator *iter); void (*close)(struct trace_iterator *iter); |