All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Jiri Olsa <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: mingo@kernel.org, namhyung@kernel.org,
	linux-kernel@vger.kernel.org, alexander.shishkin@linux.intel.com,
	peterz@infradead.org, dsahern@gmail.com, hpa@zytor.com,
	jolsa@kernel.org, eranian@google.com, acme@redhat.com,
	ak@linux.intel.com, tglx@linutronix.de
Subject: [tip:perf/urgent] perf evsel: Fix period/freq terms setup
Date: Mon, 5 Feb 2018 13:35:59 -0800	[thread overview]
Message-ID: <tip-49c0ae80eb32426fa133246200628e529067c595@git.kernel.org> (raw)
In-Reply-To: <20180201083812.11359-2-jolsa@kernel.org>

Commit-ID:  49c0ae80eb32426fa133246200628e529067c595
Gitweb:     https://git.kernel.org/tip/49c0ae80eb32426fa133246200628e529067c595
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Thu, 1 Feb 2018 09:38:10 +0100
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 5 Feb 2018 12:11:58 -0300

perf evsel: Fix period/freq terms setup

Stephane reported that we don't set properly PERIOD sample type for
events with period term defined.

Before:
  $ perf record -e cpu/cpu-cycles,period=1000/u ls
  $ perf evlist -v
  cpu/cpu-cycles,period=1000/u: ... sample_type: IP|TID|TIME|PERIOD, ...

After:
  $ perf record -e cpu/cpu-cycles,period=1000/u ls
  $ perf evlist -v
  cpu/cpu-cycles,period=1000/u: ... sample_type: IP|TID|TIME, ...

Setting PERIOD sample type based on period term setup.

Committer note:

When we use -c or a period=N term in the event definition, then we don't
need to ask the kernel, for this event, via perf_event_attr.sample_type
|= PERF_SAMPLE_PERIOD, to put the event period in each sample for this
event, as we know it already, it is in perf_event_attr.sample_period.

Reported-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Stephane Eranian <eranian@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180201083812.11359-2-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/evsel.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 66fa451..f2f2eaa 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -745,12 +745,14 @@ static void apply_config_terms(struct perf_evsel *evsel,
 			if (!(term->weak && opts->user_interval != ULLONG_MAX)) {
 				attr->sample_period = term->val.period;
 				attr->freq = 0;
+				perf_evsel__reset_sample_bit(evsel, PERIOD);
 			}
 			break;
 		case PERF_EVSEL__CONFIG_TERM_FREQ:
 			if (!(term->weak && opts->user_freq != UINT_MAX)) {
 				attr->sample_freq = term->val.freq;
 				attr->freq = 1;
+				perf_evsel__set_sample_bit(evsel, PERIOD);
 			}
 			break;
 		case PERF_EVSEL__CONFIG_TERM_TIME:

  parent reply	other threads:[~2018-02-05 21:41 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-01  8:38 [PATCH 0/3] perf: PEBS/period freerunning fixes Jiri Olsa
2018-02-01  8:38 ` [PATCH 1/3] perf tools: Fix period/freq terms setup Jiri Olsa
2018-02-02 18:45   ` Stephane Eranian
2018-02-02 20:28     ` Arnaldo Carvalho de Melo
2018-02-02 20:40       ` Arnaldo Carvalho de Melo
2018-02-02 21:04         ` Stephane Eranian
2018-02-05 15:17           ` Jiri Olsa
2018-02-05 20:58             ` Stephane Eranian
2018-02-05 21:13               ` Arnaldo Carvalho de Melo
2018-02-06  2:51                 ` Stephane Eranian
2018-02-06  9:35                   ` Jiri Olsa
2018-02-07 18:52                     ` Stephane Eranian
2018-02-09  9:27                       ` [PATCH] perf report: Add support to display group output for non group events Jiri Olsa
2018-02-09 18:37                         ` Arnaldo Carvalho de Melo
2018-02-09 18:43                           ` Arnaldo Carvalho de Melo
2018-02-09 19:10                           ` Jiri Olsa
2018-02-09 19:12                             ` Arnaldo Carvalho de Melo
2018-02-17 11:23                         ` [tip:perf/core] " tip-bot for Jiri Olsa
2018-02-03 15:30     ` [PATCH 1/3] perf tools: Fix period/freq terms setup Jiri Olsa
2018-02-04  0:19       ` Stephane Eranian
2018-02-05 21:35   ` tip-bot for Jiri Olsa [this message]
2018-02-01  8:38 ` [PATCH 2/3] perf record: Fix period option handling Jiri Olsa
2018-02-05 21:36   ` [tip:perf/urgent] " tip-bot for Jiri Olsa
2018-02-01  8:38 ` [PATCH 3/3] x86/events/intel/ds: Add PERF_SAMPLE_PERIOD into PEBS_FREERUNNING_FLAGS Jiri Olsa
2018-02-05 21:36   ` [tip:perf/urgent] " tip-bot for Jiri Olsa

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=tip-49c0ae80eb32426fa133246200628e529067c595@git.kernel.org \
    --to=tipbot@zytor.com \
    --cc=acme@redhat.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=dsahern@gmail.com \
    --cc=eranian@google.com \
    --cc=hpa@zytor.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    /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.