perf vendors events arm64: Update Cortex A57/A72Categorise and add missing PMU events for Cortex-A57/A72, based on:https://github.com/ARM-software/data/blob/master/pmu/cortex-a57.jsonhttps://gith
perf vendors events arm64: Update Cortex A57/A72Categorise and add missing PMU events for Cortex-A57/A72, based on:https://github.com/ARM-software/data/blob/master/pmu/cortex-a57.jsonhttps://github.com/ARM-software/data/blob/master/pmu/cortex-a72.jsonThese contain the same events, and are based on the Arm TechnicalReference Manuals for Cortex-A57 and Cortex-A72.Reviewed-by: John Garry <john.garry@huawei.com>Signed-off-by: Nick Forrington <nick.forrington@arm.com>Acked-by: Florian Fainelli <f.fainelli@gmail.com>Acked-by: Ian Rogers <irogers@google.com>Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>Cc: Andi Kleen <ak@linux.intel.com>Cc: Andrew Kilroy <andrew.kilroy@arm.com>Cc: Ingo Molnar <mingo@redhat.com>Cc: James Clark <james.clark@arm.com>Cc: Jiri Olsa <jolsa@kernel.org>Cc: Kajol Jain <kjain@linux.ibm.com>Cc: Leo Yan <leo.yan@linaro.org>Cc: Mark Rutland <mark.rutland@arm.com>Cc: Mathieu Poirier <mathieu.poirier@linaro.org>Cc: Namhyung Kim <namhyung@kernel.org>Cc: Peter Zijlstra <peterz@infradead.org>Cc: Will Deacon <will@kernel.org>Cc: linux-arm-kernel@lists.infradead.orgLink: https://lore.kernel.org/r/20220517135805.313184-2-nick.forrington@arm.comSigned-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
show more ...
perf vendor events arm64: Fix commas so PMU event files are valid JSONNo functional change.Add and remove extra commas in the arm64 JSON files so that the filescan be parsed and validated by oth
perf vendor events arm64: Fix commas so PMU event files are valid JSONNo functional change.Add and remove extra commas in the arm64 JSON files so that the filescan be parsed and validated by other utilities such as Python that failto parse invalid JSON.Committer testing:Before: $ diffstat -l -p1 /wb/1.patch | while read filename ; do echo $filename ; cat $filename | json_verify ; done tools/perf/pmu-events/arch/arm64/ampere/emag/branch.json parse error: invalid object key (must be a string) [ { "ArchStdEvent" (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/ampere/emag/bus.json parse error: invalid object key (must be a string) [ { "ArchStdEvent" (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/ampere/emag/cache.json parse error: invalid object key (must be a string) [ { "ArchStdEvent" (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/ampere/emag/clock.json parse error: unallowed token at this point in JSON text [ { "PublicDescrip (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/ampere/emag/exception.json parse error: invalid object key (must be a string) [ { "ArchStdEvent" (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/ampere/emag/instruction.json parse error: invalid object key (must be a string) [ { "ArchStdEvent" (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/ampere/emag/intrinsic.json parse error: invalid object key (must be a string) [ { "ArchStdEvent" (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/ampere/emag/memory.json parse error: invalid object key (must be a string) [ { "ArchStdEvent" (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/ampere/emag/pipeline.json parse error: unallowed token at this point in JSON text [ { "PublicDescrip (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/arm/cortex-a53/branch.json parse error: invalid object key (must be a string) [ { "ArchStdEvent": "BR (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/arm/cortex-a53/bus.json parse error: invalid object key (must be a string) [ { "ArchStdEvent": (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/arm/cortex-a53/other.json parse error: invalid object key (must be a string) [ { "ArchStdEvent": (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/arm/cortex-a57-a72/core-imp-def.json parse error: invalid object key (must be a string) [ { "ArchStdEvent" (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/armv8-recommended.json parse error: after array element, I expect ',' or ']' [ { "PublicDescrip (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/cavium/thunderx2/core-imp-def.json parse error: invalid object key (must be a string) [ { "ArchStdEvent" (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/hisilicon/hip08/core-imp-def.json parse error: invalid object key (must be a string) [ { "ArchStdEvent" (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/hisilicon/hip08/uncore-ddrc.json parse error: invalid object key (must be a string) [ { "EventCode": "0x00 (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/hisilicon/hip08/uncore-hha.json parse error: invalid object key (must be a string) [ { "EventCode": "0x00 (right here) ------^ JSON is invalid tools/perf/pmu-events/arch/arm64/hisilicon/hip08/uncore-l3c.json parse error: invalid object key (must be a string) [ { "EventCode": "0x00 (right here) ------^ JSON is invalid $After: $ diffstat -l -p1 /wb/1.patch | while read filename ; do echo $filename ; cat $filename | json_verify ; done tools/perf/pmu-events/arch/arm64/ampere/emag/branch.json JSON is valid tools/perf/pmu-events/arch/arm64/ampere/emag/bus.json JSON is valid tools/perf/pmu-events/arch/arm64/ampere/emag/cache.json JSON is valid tools/perf/pmu-events/arch/arm64/ampere/emag/clock.json JSON is valid tools/perf/pmu-events/arch/arm64/ampere/emag/exception.json JSON is valid tools/perf/pmu-events/arch/arm64/ampere/emag/instruction.json JSON is valid tools/perf/pmu-events/arch/arm64/ampere/emag/intrinsic.json JSON is valid tools/perf/pmu-events/arch/arm64/ampere/emag/memory.json JSON is valid tools/perf/pmu-events/arch/arm64/ampere/emag/pipeline.json JSON is valid tools/perf/pmu-events/arch/arm64/arm/cortex-a53/branch.json JSON is valid tools/perf/pmu-events/arch/arm64/arm/cortex-a53/bus.json JSON is valid tools/perf/pmu-events/arch/arm64/arm/cortex-a53/other.json JSON is valid tools/perf/pmu-events/arch/arm64/arm/cortex-a57-a72/core-imp-def.json JSON is valid tools/perf/pmu-events/arch/arm64/armv8-recommended.json JSON is valid tools/perf/pmu-events/arch/arm64/cavium/thunderx2/core-imp-def.json JSON is valid tools/perf/pmu-events/arch/arm64/hisilicon/hip08/core-imp-def.json JSON is valid tools/perf/pmu-events/arch/arm64/hisilicon/hip08/uncore-ddrc.json JSON is valid tools/perf/pmu-events/arch/arm64/hisilicon/hip08/uncore-hha.json JSON is valid tools/perf/pmu-events/arch/arm64/hisilicon/hip08/uncore-l3c.json JSON is valid $Signed-off-by: James Clark <james.clark@arm.com>Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>Cc: Jiri Olsa <jolsa@redhat.com>Cc: John Garry <john.garry@huawei.com>Cc: Kevin Mooney <kevin.mooney@arm.com>Cc: Mark Rutland <mark.rutland@arm.com>Cc: Peter Zijlstra <peterz@infradead.org>Cc: nd@arm.comLink: http://lore.kernel.org/lkml/20191112160342.26470-1-james.clark@arm.comSigned-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
perf vendor events arm64: Add Cortex-A57 and Cortex-A72 eventsThe Cortex-A57 and Cortex-A72 both support all ARMv8 recommended eventsup to the RC_ST_SPEC (0x91) event with the exception of:- L1D
perf vendor events arm64: Add Cortex-A57 and Cortex-A72 eventsThe Cortex-A57 and Cortex-A72 both support all ARMv8 recommended eventsup to the RC_ST_SPEC (0x91) event with the exception of:- L1D_CACHE_REFILL_INNER (0x44)- L1D_CACHE_REFILL_OUTER (0x45)- L1D_TLB_RD (0x4E)- L1D_TLB_WR (0x4F)- L2D_TLB_REFILL_RD (0x5C)- L2D_TLB_REFILL_WR (0x5D)- L2D_TLB_RD (0x5E)- L2D_TLB_WR (0x5F)- STREX_SPEC (0x6F)Create an appropriate JSON file for mapping those events and update themapfile.csv for matching the Cortex-A57 and Cortex-A72 MIDR to thatfile.Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>Reviewed-by: John Garry <john.garry@huawei.com>Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>Cc: Catalin Marinas <catalin.marinas@arm.com>Cc: Ganapatrao Kulkarni <ganapatrao.kulkarni@cavium.com>Cc: Jiri Olsa <jolsa@redhat.com>Cc: Mark Rutland <mark.rutland@arm.com>Cc: Namhyung Kim <namhyung@kernel.org>Cc: Peter Zijlstra <peterz@infradead.org>Cc: Sean V Kelley <seanvk.dev@oregontracks.org>Cc: Will Deacon <will.deacon@arm.com>Cc: linux-arm-kernel@lists.infradead.org (moderated list:arm pmu profiling and debugging)Link: http://lkml.kernel.org/r/20190513202522.9050-4-f.fainelli@gmail.comSigned-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>