diff options
author | Jiri Olsa <jolsa@kernel.org> | 2017-01-09 10:51:56 +0100 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2017-01-11 16:48:01 -0300 |
commit | 1b43b70484a9617de5fe2c12e64bea006010ac1c (patch) | |
tree | 573daf43a9d798f7563f7fb74cedb813d1cc28fc /tools/perf/builtin-record.c | |
parent | 9808143ba2e54818a3cf445d9b69b3f5f15451ee (diff) | |
download | talos-op-linux-1b43b70484a9617de5fe2c12e64bea006010ac1c.tar.gz talos-op-linux-1b43b70484a9617de5fe2c12e64bea006010ac1c.zip |
perf record: Add struct switch_output
Next patches will add more --switch-output option arguments,
so preparing the data holder.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Wang Nan <wangnan0@huawei.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1483955520-29063-3-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-record.c')
-rw-r--r-- | tools/perf/builtin-record.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index 4ec10e9427d9..f7e805b30527 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c @@ -46,6 +46,10 @@ #include <asm/bug.h> #include <linux/time64.h> +struct switch_output { + bool signal; +}; + struct record { struct perf_tool tool; struct record_opts opts; @@ -62,7 +66,7 @@ struct record { bool no_buildid_cache_set; bool buildid_all; bool timestamp_filename; - bool switch_output; + struct switch_output switch_output; unsigned long long samples; }; @@ -842,11 +846,11 @@ static int __cmd_record(struct record *rec, int argc, const char **argv) signal(SIGTERM, sig_handler); signal(SIGSEGV, sigsegv_handler); - if (rec->opts.auxtrace_snapshot_mode || rec->switch_output) { + if (rec->opts.auxtrace_snapshot_mode || rec->switch_output.signal) { signal(SIGUSR2, snapshot_sig_handler); if (rec->opts.auxtrace_snapshot_mode) trigger_on(&auxtrace_snapshot_trigger); - if (rec->switch_output) + if (rec->switch_output.signal) trigger_on(&switch_output_trigger); } else { signal(SIGUSR2, SIG_IGN); @@ -1519,7 +1523,7 @@ static struct option __record_options[] = { "Record build-id of all DSOs regardless of hits"), OPT_BOOLEAN(0, "timestamp-filename", &record.timestamp_filename, "append timestamp to output filename"), - OPT_BOOLEAN(0, "switch-output", &record.switch_output, + OPT_BOOLEAN(0, "switch-output", &record.switch_output.signal, "Switch output when receive SIGUSR2"), OPT_BOOLEAN(0, "dry-run", &dry_run, "Parse options then exit"), @@ -1578,7 +1582,7 @@ int cmd_record(int argc, const char **argv, const char *prefix __maybe_unused) return -EINVAL; } - if (rec->switch_output) + if (rec->switch_output.signal) rec->timestamp_filename = true; if (!rec->itr) { @@ -1629,7 +1633,7 @@ int cmd_record(int argc, const char **argv, const char *prefix __maybe_unused) if (rec->no_buildid_cache || rec->no_buildid) { disable_buildid_cache(); - } else if (rec->switch_output) { + } else if (rec->switch_output.signal) { /* * In 'perf record --switch-output', disable buildid * generation by default to reduce data file switching |