2019-10-25 16:10:55

by Tan Xiaojun

[permalink] [raw]
Subject: [RFC v2 0/4] perf tools: Add support for some spe events and precise ip

After the commit ffd3d18c20b8 ("perf tools: Add ARM Statistical
Profiling Extensions (SPE) support") is merged, "perf record" and
"perf report --dump-raw-trace" have been supported. However, the
raw data that is dumped cannot be used without parsing.

This patchset is to improve the "perf report" support for spe, and
further process the data. Currently, support for the three events
of llc-miss, tlb-miss, and branch-miss is added.

And through the spe to support the precise ip of the branch-misses
event, like "branch-misses:pp".

v1->v2:
Some cleanup and bugfix fixes were made, and support for the precise
ip of branch-misses was added. Thanks for the suggestions of Jeremy
and James.

Tan Xiaojun (4):
perf tools: Move arm-spe-pkt-decoder.h/c to the new dir
perf tools: Add support for "report" for some spe events
perf report: Add --spe options for arm-spe
perf tools: Support "branch-misses:pp" on arm64

tools/perf/Documentation/perf-report.txt | 9 +
tools/perf/builtin-report.c | 5 +
tools/perf/util/Build | 2 +-
tools/perf/util/arm-spe-decoder/Build | 1 +
.../util/arm-spe-decoder/arm-spe-decoder.c | 219 +++++
.../util/arm-spe-decoder/arm-spe-decoder.h | 65 ++
.../arm-spe-pkt-decoder.c | 0
.../arm-spe-pkt-decoder.h | 2 +
tools/perf/util/arm-spe.c | 770 +++++++++++++++++-
tools/perf/util/arm-spe.h | 3 +
tools/perf/util/auxtrace.c | 45 +
tools/perf/util/auxtrace.h | 27 +
tools/perf/util/evlist.c | 2 +
tools/perf/util/session.h | 2 +
14 files changed, 1114 insertions(+), 38 deletions(-)
create mode 100644 tools/perf/util/arm-spe-decoder/Build
create mode 100644 tools/perf/util/arm-spe-decoder/arm-spe-decoder.c
create mode 100644 tools/perf/util/arm-spe-decoder/arm-spe-decoder.h
rename tools/perf/util/{ => arm-spe-decoder}/arm-spe-pkt-decoder.c (100%)
rename tools/perf/util/{ => arm-spe-decoder}/arm-spe-pkt-decoder.h (96%)

--
2.17.1


2019-10-25 16:11:20

by Tan Xiaojun

[permalink] [raw]
Subject: [RFC v2 1/4] perf tools: Move arm-spe-pkt-decoder.h/c to the new dir

Create a new arm-spe-decoder directory for subsequent extensions and
move arm-spe-pkt-decoder.h/c to this directory. No code changes.

Signed-off-by: Tan Xiaojun <[email protected]>
---
tools/perf/util/Build | 2 +-
tools/perf/util/arm-spe-decoder/Build | 1 +
tools/perf/util/{ => arm-spe-decoder}/arm-spe-pkt-decoder.c | 0
tools/perf/util/{ => arm-spe-decoder}/arm-spe-pkt-decoder.h | 0
tools/perf/util/arm-spe.c | 2 +-
5 files changed, 3 insertions(+), 2 deletions(-)
create mode 100644 tools/perf/util/arm-spe-decoder/Build
rename tools/perf/util/{ => arm-spe-decoder}/arm-spe-pkt-decoder.c (100%)
rename tools/perf/util/{ => arm-spe-decoder}/arm-spe-pkt-decoder.h (100%)

diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index 8dcfca1a882f..f2e5a217e0aa 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -100,7 +100,7 @@ perf-$(CONFIG_AUXTRACE) += intel-pt-decoder/
perf-$(CONFIG_AUXTRACE) += intel-pt.o
perf-$(CONFIG_AUXTRACE) += intel-bts.o
perf-$(CONFIG_AUXTRACE) += arm-spe.o
-perf-$(CONFIG_AUXTRACE) += arm-spe-pkt-decoder.o
+perf-$(CONFIG_AUXTRACE) += arm-spe-decoder/
perf-$(CONFIG_AUXTRACE) += s390-cpumsf.o

ifdef CONFIG_LIBOPENCSD
diff --git a/tools/perf/util/arm-spe-decoder/Build b/tools/perf/util/arm-spe-decoder/Build
new file mode 100644
index 000000000000..16efbc245028
--- /dev/null
+++ b/tools/perf/util/arm-spe-decoder/Build
@@ -0,0 +1 @@
+perf-$(CONFIG_AUXTRACE) += arm-spe-pkt-decoder.o
diff --git a/tools/perf/util/arm-spe-pkt-decoder.c b/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c
similarity index 100%
rename from tools/perf/util/arm-spe-pkt-decoder.c
rename to tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c
diff --git a/tools/perf/util/arm-spe-pkt-decoder.h b/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.h
similarity index 100%
rename from tools/perf/util/arm-spe-pkt-decoder.h
rename to tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.h
diff --git a/tools/perf/util/arm-spe.c b/tools/perf/util/arm-spe.c
index 53be12b23ff4..f3382a38d48e 100644
--- a/tools/perf/util/arm-spe.c
+++ b/tools/perf/util/arm-spe.c
@@ -23,7 +23,7 @@
#include "debug.h"
#include "auxtrace.h"
#include "arm-spe.h"
-#include "arm-spe-pkt-decoder.h"
+#include "arm-spe-decoder/arm-spe-pkt-decoder.h"

struct arm_spe {
struct auxtrace auxtrace;
--
2.17.1