All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv2] perf/stat: Report unsupported events properly
@ 2015-02-13 18:40 Suzuki K. Poulose
  2015-02-13 19:39 ` David Ahern
  2015-03-03  6:22 ` [tip:perf/core] perf stat: " tip-bot for Suzuki K. Poulose
  0 siblings, 2 replies; 6+ messages in thread
From: Suzuki K. Poulose @ 2015-02-13 18:40 UTC (permalink / raw)
  To: linux-kernel; +Cc: Suzuki K. Poulose, Jiri Olsa, Arnaldo Carvalho de Melo

From: "Suzuki K. Poulose" <suzuki.poulose@arm.com>

Commit 1971f59 (perf stat: Use read_counter in read_counter_aggr )
broke the perf stat output for unsupported counters.

 $ perf stat -v -a -C 0 -e CCI_400/config=24/ sleep 1
 Warning:
 CCI_400/config=24/ event is not supported by the kernel.

  Performance counter stats for 'system wide':

                  0      CCI_400/config=24/

        1.080265400 seconds time elapsed

Where it used to be :

$ perf stat -v -a -C 0 -e CCI_400/config=24/ sleep 1
 Warning:
 CCI_400/config=24/ event is not supported by the kernel.

  Performance counter stats for 'system wide':

    <not supported>      CCI_400/config=24/

        1.083840675 seconds time elapsed

This patch fixes the issues by checking if the counter is supported,
before reading and logging the counter value.

Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Suzuki K. Poulose <suzuki.poulose@arm.com>
---
 tools/perf/builtin-stat.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index e598e4e..d28949d 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -510,6 +510,9 @@ static int read_counter(struct perf_evsel *counter)
 	int ncpus = perf_evsel__nr_cpus(counter);
 	int cpu, thread;
 
+	if (!counter->supported)
+		return -ENOENT;
+
 	if (counter->system_wide)
 		nthreads = 1;
 
@@ -1285,7 +1288,7 @@ static void print_counter_aggr(struct perf_evsel *counter, char *prefix)
 	if (prefix)
 		fprintf(output, "%s", prefix);
 
-	if (scaled == -1) {
+	if (scaled == -1 || !counter->supported) {
 		fprintf(output, "%*s%s",
 			csv_output ? 0 : 18,
 			counter->supported ? CNTR_NOT_COUNTED : CNTR_NOT_SUPPORTED,
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-03-03  6:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-13 18:40 [PATCHv2] perf/stat: Report unsupported events properly Suzuki K. Poulose
2015-02-13 19:39 ` David Ahern
2015-02-13 20:50   ` Arnaldo Carvalho de Melo
2015-02-17 10:13     ` Suzuki K. Poulose
2015-02-27 19:40     ` David Ahern
2015-03-03  6:22 ` [tip:perf/core] perf stat: " tip-bot for Suzuki K. Poulose

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.