linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ian Rogers <irogers@google.com>
To: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>,
	Yonghong Song <yhs@fb.com>, Andrii Nakryiko <andriin@fb.com>,
	John Fastabend <john.fastabend@gmail.com>,
	KP Singh <kpsingh@chromium.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Andi Kleen <ak@linux.intel.com>,
	Athira Rajeev <atrajeev@linux.vnet.ibm.com>,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	bpf@vger.kernel.org
Cc: Stephane Eranian <eranian@google.com>, Ian Rogers <irogers@google.com>
Subject: [PATCH v2 2/5] perf record: Prevent override of attr->sample_period for libpfm4 events
Date: Tue, 28 Jul 2020 01:57:31 -0700	[thread overview]
Message-ID: <20200728085734.609930-3-irogers@google.com> (raw)
In-Reply-To: <20200728085734.609930-1-irogers@google.com>

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


  parent reply	other threads:[~2020-07-28  8:58 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-28  8:57 [PATCH v2 0/5] Fixes for setting event freq/periods Ian Rogers
2020-07-28  8:57 ` [PATCH v2 1/5] perf record: Set PERF_RECORD_PERIOD if attr->freq is set Ian Rogers
2020-07-28 15:43   ` Jiri Olsa
2020-07-28 16:03     ` Arnaldo Carvalho de Melo
2020-07-29 15:11       ` Athira Rajeev
2020-07-29 18:52   ` Arnaldo Carvalho de Melo
2020-07-29 21:43     ` Ian Rogers
2020-09-04  5:39       ` Ian Rogers
2020-07-28  8:57 ` Ian Rogers [this message]
2020-07-28 15:59   ` [PATCH v2 2/5] perf record: Prevent override of attr->sample_period for libpfm4 events Jiri Olsa
2020-07-28 16:09     ` Jiri Olsa
2020-07-29 23:24       ` Ian Rogers
2020-09-04  5:41         ` Ian Rogers
2020-09-04 16:03           ` Jiri Olsa
2020-09-04 16:22             ` Ian Rogers
2020-09-04 18:48               ` Arnaldo Carvalho de Melo
2020-09-04 18:50                 ` Arnaldo Carvalho de Melo
2020-09-04 18:51                   ` Arnaldo Carvalho de Melo
2020-09-11 22:34                     ` Ian Rogers
2020-09-12  3:02                       ` Ian Rogers
2020-07-29 18:54   ` Arnaldo Carvalho de Melo
2020-07-28  8:57 ` [PATCH v2 3/5] perf test: Ensure sample_period is set " Ian Rogers
2020-07-28 12:45   ` Arnaldo Carvalho de Melo
2020-07-28  8:57 ` [PATCH v2 4/5] perf record: Don't clear event's period if set by a term Ian Rogers
2020-07-29 18:58   ` Arnaldo Carvalho de Melo
2020-08-04 10:08   ` Adrian Hunter
2020-08-04 13:33     ` Ian Rogers
2020-08-04 14:48       ` Adrian Hunter
2020-08-04 15:50         ` Ian Rogers
2020-09-04  5:43           ` Ian Rogers
2020-09-07  6:36             ` Adrian Hunter
2020-07-28  8:57 ` [PATCH v2 5/5] perf test: Leader sampling shouldn't clear sample period Ian Rogers

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=20200728085734.609930-3-irogers@google.com \
    --to=irogers@google.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=andriin@fb.com \
    --cc=ast@kernel.org \
    --cc=atrajeev@linux.vnet.ibm.com \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=eranian@google.com \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=kafai@fb.com \
    --cc=kpsingh@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=songliubraving@fb.com \
    --cc=yhs@fb.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).