[Devel] Re: [PATCH 3/6] perf: add ability to record event period
Andrew Vagin
avagin at gmail.com
Thu Dec 15 23:13:07 PST 2011
Hi Arnaldo,
Could you review and commit this patch. It's quite common functionality,
which allow to get events more effectively and to avoid losing events.
All other patches may be postponed, because Arun Sharma wants to suggest
your version of "Profiling sleep times".
Thanks.
On 12/07/2011 05:55 PM, Andrew Vagin wrote:
> Signed-off-by: Andrew Vagin<avagin at openvz.org>
> ---
> tools/perf/builtin-record.c | 1 +
> tools/perf/perf.h | 1 +
> tools/perf/util/evsel.c | 3 +++
> 3 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 766fa0a..f8fd14f 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -700,6 +700,7 @@ const struct option record_options[] = {
> OPT_BOOLEAN('d', "data",&record.opts.sample_address,
> "Sample addresses"),
> OPT_BOOLEAN('T', "timestamp",&record.opts.sample_time, "Sample timestamps"),
> + OPT_BOOLEAN('P', "period",&record.opts.period, "Sample period"),
> OPT_BOOLEAN('n', "no-samples",&record.opts.no_samples,
> "don't sample"),
> OPT_BOOLEAN('N', "no-buildid-cache",&record.no_buildid_cache,
> diff --git a/tools/perf/perf.h b/tools/perf/perf.h
> index ea804f5..64f8bee 100644
> --- a/tools/perf/perf.h
> +++ b/tools/perf/perf.h
> @@ -200,6 +200,7 @@ struct perf_record_opts {
> bool sample_time;
> bool sample_id_all_avail;
> bool system_wide;
> + bool period;
> unsigned int freq;
> unsigned int mmap_pages;
> unsigned int user_freq;
> diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
> index e2d1b22..8550018 100644
> --- a/tools/perf/util/evsel.c
> +++ b/tools/perf/util/evsel.c
> @@ -108,6 +108,9 @@ void perf_evsel__config(struct perf_evsel *evsel, struct perf_record_opts *opts)
> if (opts->system_wide)
> attr->sample_type |= PERF_SAMPLE_CPU;
>
> + if (opts->period)
> + attr->sample_type |= PERF_SAMPLE_PERIOD;
> +
> if (opts->sample_id_all_avail&&
> (opts->sample_time || opts->system_wide ||
> !opts->no_inherit || opts->cpu_list))
More information about the Devel
mailing list