diff options
author | Andi Kleen <ak@linux.intel.com> | 2013-08-21 16:47:26 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-10-04 10:06:07 +0200 |
commit | 4cabc3d1cb6a46f581a2628d1d11c483d5f300e5 (patch) | |
tree | 5daa1d88dd0cfa62433f7d6149f5f96c6a3fc33d /tools/perf/util/pmu.h | |
parent | 723478c8a471403c53cf144999701f6e0c4bbd11 (diff) | |
download | op-kernel-dev-4cabc3d1cb6a46f581a2628d1d11c483d5f300e5.zip op-kernel-dev-4cabc3d1cb6a46f581a2628d1d11c483d5f300e5.tar.gz |
tools/perf/stat: Add perf stat --transaction
Add support to perf stat to print the basic transactional execution statistics:
Total cycles, Cycles in Transaction, Cycles in aborted transsactions
using the in_tx and in_tx_checkpoint qualifiers.
Transaction Starts and Elision Starts, to compute the average transaction
length.
This is a reasonable overview over the success of the transactions.
Also support architectures that have a transaction aborted cycles
counter like POWER8. Since that is awkward to handle in the kernel
abstract handle both cases here.
Enable with a new --transaction / -T option.
This requires measuring these events in a group, since they depend on each
other.
This is implemented by using TM sysfs events exported by the kernel
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Arnaldo Carvalho de Melo <acme@infradead.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1377128846-977-5-git-send-email-andi@firstfloor.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/util/pmu.h')
-rw-r--r-- | tools/perf/util/pmu.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/perf/util/pmu.h b/tools/perf/util/pmu.h index 6b2cbe2..1179b26 100644 --- a/tools/perf/util/pmu.h +++ b/tools/perf/util/pmu.h @@ -42,6 +42,7 @@ int perf_pmu__format_parse(char *dir, struct list_head *head); struct perf_pmu *perf_pmu__scan(struct perf_pmu *pmu); void print_pmu_events(const char *event_glob, bool name_only); +bool pmu_have_event(const char *pname, const char *name); int perf_pmu__test(void); #endif /* __PMU_H */ |