[PATCH v3 00/11] perf events patches for improved ARM64 support
John Garry
john.garry at huawei.com
Thu Mar 8 02:58:25 PST 2018
This patchset adds support for some perf events features,
targeted at ARM64, implemented in a generic fashion.
The two main features are as follows:
- support for arch/vendor/platform pmu events directory structure
- to support this, topic subdirectory support needs to be dropped
- support for parsing standard architecture pmu events
On the back of these, the Cavium ThunderX2, ARM Cortex-A53,
and HiSilicon hip08 JSONs are relocated/added/updated.
In addition, there is a patch to drop mutli-mapfile.csv support and
also a bugfix in jevents.c for an error code value.
Note: Patch #5 will conflict with https://lkml.org/lkml/2018/3/7/183
The simple merge resolution is:
0x00000000420f5160,v1,cavium/thunderx2,core
+0x00000000430f0af0,v1,cavium/thunderx2,core
Differences to v2:
- Change standard arch event matching to use EventName
- update JSONs based on this
- add review tags from Jiri Olsa
Differences to v1:
- Address coding issues from Jiri Olsa in adding arch std event
support (https://lkml.org/lkml/2018/2/6/501)
- add patch to drop topic subdirectory support
- add patch for bug fix in json_events()
- add review tags from Jiri Olsa
Differences to RFC:
- reworked patch for arch standard events
- added arch standard event keyword support
- use some macros to make the code more condense
- use <linux/list_head.h>
- standardised some function names
- updated README
- for patch to support vendor subdir, add check for
unknown dirent type
-add patch to drop mutliple mapfile.csv support
- dealt with new cortex a53 JSONs
John Garry (11):
perf vendor events: drop incomplete multiple mapfile support
perf vendor events: fix error code in json_events()
perf vendor events: drop support for unused topic directories
perf vendor events: add support for pmu events vendor subdirectory
perf vendor events arm64: Relocate ThunderX2 JSON to cavium
subdirectory
perf vendor events arm64: Relocate Cortex A53 JSONs to arm
subdirectory
perf vendor events: add support for arch standard events
perf vendor events arm64: add armv8-recommended.json
perf vendor events arm64: fixup ThunderX2 to use recommended events
perf vendor events arm64: fixup A53 to use recommended events
perf vendor events arm64: add HiSilicon hip08 JSON file
tools/perf/pmu-events/Build | 2 +
tools/perf/pmu-events/README | 15 +-
.../arch/arm64/arm/cortex-a53/branch.json | 25 ++
.../pmu-events/arch/arm64/arm/cortex-a53/bus.json | 8 +
.../arch/arm64/arm/cortex-a53/cache.json | 27 ++
.../arch/arm64/arm/cortex-a53/memory.json | 12 +
.../arch/arm64/arm/cortex-a53/other.json | 28 ++
.../arch/arm64/arm/cortex-a53/pipeline.json | 52 +++
.../pmu-events/arch/arm64/armv8-recommended.json | 452 +++++++++++++++++++++
.../arch/arm64/cavium/thunderx2-imp-def.json | 62 ---
.../arch/arm64/cavium/thunderx2/core-imp-def.json | 32 ++
.../pmu-events/arch/arm64/cortex-a53/branch.json | 27 --
.../perf/pmu-events/arch/arm64/cortex-a53/bus.json | 22 -
.../pmu-events/arch/arm64/cortex-a53/cache.json | 27 --
.../pmu-events/arch/arm64/cortex-a53/memory.json | 22 -
.../pmu-events/arch/arm64/cortex-a53/other.json | 32 --
.../pmu-events/arch/arm64/cortex-a53/pipeline.json | 52 ---
.../arch/arm64/hisilicon/hip08/core-imp-def.json | 122 ++++++
tools/perf/pmu-events/arch/arm64/mapfile.csv | 5 +-
tools/perf/pmu-events/jevents.c | 287 ++++++++++---
20 files changed, 1014 insertions(+), 297 deletions(-)
create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a53/branch.json
create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a53/bus.json
create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a53/cache.json
create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a53/memory.json
create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a53/other.json
create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a53/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/arm64/armv8-recommended.json
delete mode 100644 tools/perf/pmu-events/arch/arm64/cavium/thunderx2-imp-def.json
create mode 100644 tools/perf/pmu-events/arch/arm64/cavium/thunderx2/core-imp-def.json
delete mode 100644 tools/perf/pmu-events/arch/arm64/cortex-a53/branch.json
delete mode 100644 tools/perf/pmu-events/arch/arm64/cortex-a53/bus.json
delete mode 100644 tools/perf/pmu-events/arch/arm64/cortex-a53/cache.json
delete mode 100644 tools/perf/pmu-events/arch/arm64/cortex-a53/memory.json
delete mode 100644 tools/perf/pmu-events/arch/arm64/cortex-a53/other.json
delete mode 100644 tools/perf/pmu-events/arch/arm64/cortex-a53/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/arm64/hisilicon/hip08/core-imp-def.json
--
1.9.1
More information about the linux-arm-kernel
mailing list