[tip:perf/core] perf record: Use sw counter only if hw pmu is not detected

From: tip-bot for Robert Richter
Date: Fri Apr 13 2012 - 14:24:05 EST


Commit-ID: 5a7ed29c7572d00a75e8c4529e30c5ac2ef82271
Gitweb: http://git.kernel.org/tip/5a7ed29c7572d00a75e8c4529e30c5ac2ef82271
Author: Robert Richter <robert.richter@xxxxxxx>
AuthorDate: Thu, 5 Apr 2012 18:26:28 +0200
Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
CommitDate: Wed, 11 Apr 2012 17:39:19 -0300

perf record: Use sw counter only if hw pmu is not detected

Use cpu-clock-tick sw counter for cpu-cycles only if there is no hw
pmu available. This is the case if the syscall reports ENOENT. In
other cases (e.g. invalid attributes) we don't want the sw counter to
be used.

Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/1333643188-26895-5-git-send-email-robert.richter@xxxxxxx
Signed-off-by: Robert Richter <robert.richter@xxxxxxx>
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/builtin-record.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index be4e1ee..10b1f1f 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -245,7 +245,7 @@ try_again:
* based cpu-clock-tick sw counter, which
* is always available even if no PMU support:
*/
- if (attr->type == PERF_TYPE_HARDWARE
+ if (err == ENOENT && attr->type == PERF_TYPE_HARDWARE
&& attr->config == PERF_COUNT_HW_CPU_CYCLES) {

if (verbose)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/