Messages in this thread Patch in this message |  | | Date | Tue, 28 Jul 2020 01:57:31 -0700 | Subject | [PATCH v2 2/5] perf record: Prevent override of attr->sample_period for libpfm4 events | From | Ian Rogers <> |
| |
From: Stephane Eranian <eranian@google.com>
Before: $ perf record -c 10000 --pfm-events=cycles:period=77777
Would yield a cycles event with period=10000, instead of 77777.
This was due to an ordering issue between libpfm4 parsing the event string and perf record initializing the event.
This patch fixes the problem by preventing override for events with attr->sample_period != 0 by the time perf_evsel__config() is invoked. This seems to have been the intent of the author.
Signed-off-by: Stephane Eranian <eranian@google.com> Reviewed-by: Ian Rogers <irogers@google.com> --- tools/perf/util/evsel.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index 811f538f7d77..8afc24e2ec52 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -976,8 +976,7 @@ void evsel__config(struct evsel *evsel, struct record_opts *opts, * We default some events to have a default interval. But keep * it a weak assumption overridable by the user. */ - if (!attr->sample_period || (opts->user_freq != UINT_MAX || - opts->user_interval != ULLONG_MAX)) { + if (!attr->sample_period) { if (opts->freq) { attr->freq = 1; attr->sample_freq = opts->freq; -- 2.28.0.163.g6104cc2f0b6-goog
|  |