forked from luck/tmp_suning_uos_patched
perf record: Extend -D,--delay option with -1 value
Extend -D,--delay option with -1 to start collection with events disabled to be enabled later by 'enable' command provided via control file descriptor. Signed-off-by: Alexey Budankov <alexey.budankov@linux.intel.com> Acked-by: Jiri Olsa <jolsa@redhat.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lore.kernel.org/lkml/3e7d362c-7973-ee5d-e81e-c60ea22432c3@linux.intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
27e9769aad
commit
68cd3b45b9
|
@ -407,8 +407,9 @@ if combined with -a or -C options.
|
|||
|
||||
-D::
|
||||
--delay=::
|
||||
After starting the program, wait msecs before measuring. This is useful to
|
||||
filter out the startup phase of the program, which is often very different.
|
||||
After starting the program, wait msecs before measuring (-1: start with events
|
||||
disabled). This is useful to filter out the startup phase of the program, which
|
||||
is often very different.
|
||||
|
||||
-I::
|
||||
--intr-regs::
|
||||
|
|
|
@ -1786,8 +1786,12 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
|
|||
}
|
||||
|
||||
if (opts->initial_delay) {
|
||||
usleep(opts->initial_delay * USEC_PER_MSEC);
|
||||
evlist__enable(rec->evlist);
|
||||
pr_info(EVLIST_DISABLED_MSG);
|
||||
if (opts->initial_delay > 0) {
|
||||
usleep(opts->initial_delay * USEC_PER_MSEC);
|
||||
evlist__enable(rec->evlist);
|
||||
pr_info(EVLIST_ENABLED_MSG);
|
||||
}
|
||||
}
|
||||
|
||||
trigger_ready(&auxtrace_snapshot_trigger);
|
||||
|
@ -2499,8 +2503,8 @@ static struct option __record_options[] = {
|
|||
OPT_CALLBACK('G', "cgroup", &record.evlist, "name",
|
||||
"monitor event in cgroup name only",
|
||||
parse_cgroups),
|
||||
OPT_UINTEGER('D', "delay", &record.opts.initial_delay,
|
||||
"ms to wait before starting measurement after program start"),
|
||||
OPT_INTEGER('D', "delay", &record.opts.initial_delay,
|
||||
"ms to wait before starting measurement after program start (-1: start with events disabled)"),
|
||||
OPT_BOOLEAN(0, "kcore", &record.opts.kcore, "copy /proc/kcore"),
|
||||
OPT_STRING('u', "uid", &record.opts.target.uid_str, "user",
|
||||
"user to profile"),
|
||||
|
|
|
@ -4812,7 +4812,7 @@ int cmd_trace(int argc, const char **argv)
|
|||
"per thread proc mmap processing timeout in ms"),
|
||||
OPT_CALLBACK('G', "cgroup", &trace, "name", "monitor event in cgroup name only",
|
||||
trace__parse_cgroups),
|
||||
OPT_UINTEGER('D', "delay", &trace.opts.initial_delay,
|
||||
OPT_INTEGER('D', "delay", &trace.opts.initial_delay,
|
||||
"ms to wait before starting measurement after program "
|
||||
"start"),
|
||||
OPTS_EVSWITCH(&trace.evswitch),
|
||||
|
|
|
@ -62,7 +62,7 @@ struct record_opts {
|
|||
const char *auxtrace_snapshot_opts;
|
||||
const char *auxtrace_sample_opts;
|
||||
bool sample_transaction;
|
||||
unsigned initial_delay;
|
||||
int initial_delay;
|
||||
bool use_clockid;
|
||||
clockid_t clockid;
|
||||
u64 clockid_res_ns;
|
||||
|
|
Loading…
Reference in New Issue
Block a user