Messages in this thread Patches in this message | | | Date | Mon, 30 Mar 2015 11:33:42 -0600 | From | David Ahern <> | Subject | Re: [PATCH] perf, record: Add clockid parameter |
| |
On 3/28/15 1:55 AM, Peter Zijlstra wrote: > @@ -761,6 +762,11 @@ void perf_evsel__config(struct perf_evse > attr->disabled = 0; > attr->enable_on_exec = 0; > } > + > + if (opts->clockid >= 0) { > + attr->use_clockid = 1; > + attr->clockid = opts->clockid; > + } > }
One more: you need to set attr->clockid to -1 if use_clockid is not set so that the analysis side knows whether attr->clockid was used. Otherwise it defaults to 0 == CLOCK_REALTIME which is misleading.
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index 1abf6919b8a2..27679ab38511 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -766,7 +766,8 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts) if (opts->clockid >= 0) { attr->use_clockid = 1; attr->clockid = opts->clockid; - } + } else + attr->clockid = -1; }
Dumping the setting in the header is useful as well: diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index fb432153e2aa..40bc8d010fcb 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -1098,6 +1098,7 @@ static void print_event_desc(struct perf_header *ph, int fd, FILE *fp) } fprintf(fp, " }"); } + fprintf(fp, ", clockid = %d", evsel->attr.clockid);
fputc('\n', fp); }
| |