tools/perf/stat: Add perf stat --transaction
authorAndi Kleen <ak@linux.intel.com>
Wed, 21 Aug 2013 23:47:26 +0000 (16:47 -0700)
committerIngo Molnar <mingo@kernel.org>
Fri, 4 Oct 2013 08:06:07 +0000 (10:06 +0200)
commit4cabc3d1cb6a46f581a2628d1d11c483d5f300e5
tree5daa1d88dd0cfa62433f7d6149f5f96c6a3fc33d
parent723478c8a471403c53cf144999701f6e0c4bbd11
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>
tools/perf/Documentation/perf-stat.txt
tools/perf/builtin-stat.c
tools/perf/util/evsel.h
tools/perf/util/pmu.c
tools/perf/util/pmu.h