From: David Ahern <dsahern@gmail.com>
To: Peter Zijlstra <peterz@infradead.org>,
tglx@linutronix.de, acme@redhat.com, jolsa@redhat.com,
eranian@google.com, torvalds@linux-foundation.org,
linux-kernel@vger.kernel.org, john.stultz@linaro.org,
hpa@zytor.com, akpm@linux-foundation.org, mingo@kernel.org
Subject: Re: [PATCH] perf, record: Add clockid parameter
Date: Fri, 27 Mar 2015 11:11:01 -0600 [thread overview]
Message-ID: <55158F25.9040100@gmail.com> (raw)
In-Reply-To: <20150327143201.GG21418@twins.programming.kicks-ass.net>
On 3/27/15 8:32 AM, Peter Zijlstra wrote:
> On Fri, Mar 27, 2015 at 04:48:08AM -0700, tip-bot for Peter Zijlstra wrote:
>> perf: Add per event clockid support
>
> And here the accompanying userspace; which I'd totally forgotten about.
>
> XXX: do we want to store the clockid in the data file as well, such that
> we can verify at perf-inject time the clocks match with our
> expectations?
>
> ---
> Subject: perf, record: Add clockid parameter
>
> Teach perf-record about the new perf_event_attr::{use_clockid, clockid}
> fields. Add a simple parameter to set the clock (if any) to be used for
> the events to be recorded into the data file.
>
> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> ---
> tools/perf/builtin-record.c | 3 +++
> tools/perf/perf.h | 1 +
> tools/perf/util/evsel.c | 5 +++++
> 3 files changed, 9 insertions(+)
missing Documentation/perf-record.txt update
>
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 18aad239b401..9d4ed884b1c8 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -739,6 +739,7 @@ static struct record record = {
> .uses_mmap = true,
> .default_per_cpu = true,
> },
> + .clockid = -1,
> },
> .tool = {
> .sample = process_sample_event,
> @@ -842,6 +843,8 @@ struct option __record_options[] = {
> "Sample machine registers on interrupt"),
> OPT_BOOLEAN(0, "running-time", &record.opts.running_time,
> "Record running/enabled time of read (:S) events"),
> + OPT_INTEGER('k', "clockid", &record.opts.clockid,
> + "clockid to use for events"),
> OPT_END()
> };
>
> diff --git a/tools/perf/perf.h b/tools/perf/perf.h
> index c38a085a5571..275c0c58fbbe 100644
> --- a/tools/perf/perf.h
> +++ b/tools/perf/perf.h
> @@ -62,6 +62,7 @@ struct record_opts {
> u64 user_interval;
> bool sample_transaction;
> unsigned initial_delay;
> + clockid_t clockid;
> };
>
> struct option;
> diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
> index 358e5954baa8..309208b16632 100644
> --- a/tools/perf/util/evsel.c
> +++ b/tools/perf/util/evsel.c
> @@ -761,6 +761,11 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts)
> attr->disabled = 0;
> attr->enable_on_exec = 0;
> }
> +
> + if (opts->clockid >= 0) {
> + attr->use_clockid = 1;
> + attr->clockid = opts->clockid;
> + }
> }
>
> static int perf_evsel__alloc_fd(struct perf_evsel *evsel, int ncpus, int nthreads)
>
This is a new feature which means use_clockid on older kernels will
fail. So need to catch that and throw an error -- perhaps yet another
probe function.
Also, if the intent is to allow clock selection per event should there
be an event modifier as well (see get_event_modifier())?
next prev parent reply other threads:[~2015-03-27 17:11 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <tip-34f439278cef7b1177f8ce24f9fc81dfc6221d3b@git.kernel.org>
2015-03-27 14:32 ` [PATCH] perf, record: Add clockid parameter Peter Zijlstra
2015-03-27 17:11 ` David Ahern [this message]
2015-03-27 17:20 ` Peter Zijlstra
2015-03-27 17:35 ` David Ahern
2015-03-27 20:15 ` Arnaldo Carvalho de Melo
2015-03-27 21:59 ` Peter Zijlstra
2015-03-27 22:37 ` Stephane Eranian
2015-03-28 7:55 ` Peter Zijlstra
2015-03-30 1:00 ` David Ahern
2015-03-30 8:24 ` Peter Zijlstra
2015-03-30 17:11 ` David Ahern
2015-03-30 9:17 ` Peter Zijlstra
2015-03-30 17:17 ` David Ahern
2015-03-30 19:32 ` Peter Zijlstra
2015-03-30 19:39 ` David Ahern
2015-03-30 17:24 ` David Ahern
2015-03-30 19:33 ` Peter Zijlstra
2015-03-30 19:41 ` David Ahern
2015-03-30 19:43 ` Stephane Eranian
2015-03-31 8:19 ` Peter Zijlstra
2015-03-31 10:46 ` [RFC][PATCH] perf tools: unify perf_event_attr printing Peter Zijlstra
2015-04-01 16:26 ` Peter Zijlstra
2015-04-01 16:52 ` Jiri Olsa
2015-04-02 9:01 ` Adrian Hunter
2015-04-02 11:59 ` Peter Zijlstra
2015-04-02 12:54 ` Adrian Hunter
2015-04-03 16:11 ` Arnaldo Carvalho de Melo
2015-04-03 16:14 ` Arnaldo Carvalho de Melo
2015-04-02 8:12 ` Ingo Molnar
2015-04-02 22:28 ` Arnaldo Carvalho de Melo
2015-04-02 9:19 ` Jiri Olsa
2015-03-30 17:33 ` [PATCH] perf, record: Add clockid parameter David Ahern
2015-03-30 19:34 ` Peter Zijlstra
2015-03-30 19:46 ` David Ahern
2015-03-27 23:07 ` Stephane Eranian
2015-03-27 16:31 ` [tip:perf/timer] perf: Add per event clockid support Stephane Eranian
2015-03-27 16:35 ` Peter Zijlstra
2015-03-27 16:52 ` Stephane Eranian
2015-03-27 16:57 ` Peter Zijlstra
2015-03-27 17:00 ` Stephane Eranian
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55158F25.9040100@gmail.com \
--to=dsahern@gmail.com \
--cc=acme@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=eranian@google.com \
--cc=hpa@zytor.com \
--cc=john.stultz@linaro.org \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.