linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] perf vendor events arm64: Add Cortex-A72 events
@ 2019-04-07 21:34 Florian Fainelli
  2019-04-08 16:47 ` Will Deacon
  2019-04-11 13:01 ` John Garry
  0 siblings, 2 replies; 5+ messages in thread
From: Florian Fainelli @ 2019-04-07 21:34 UTC (permalink / raw)
  To: linux-kernel
  Cc: Mark Rutland, Florian Fainelli, Peter Zijlstra, Catalin Marinas,
	Will Deacon, Arnaldo Carvalho de Melo, Alexander Shishkin,
	Ingo Molnar, Namhyung Kim, Jiri Olsa,
	moderated list:ARM PMU PROFILING AND DEBUGGING

The Cortex-A72 supports all ARMv8 recommended events up to the
RC_ST_SPEC (0x91) event, create an appropriate JSON file for mapping
those events and update the mapfile.csv for matching the Cortex-A72 MIDR
to that file.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 .../arm64/arm/cortex-a72/core-imp-def.json    | 206 ++++++++++++++++++
 tools/perf/pmu-events/arch/arm64/mapfile.csv  |   1 +
 2 files changed, 207 insertions(+)
 create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json

diff --git a/tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json b/tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json
new file mode 100644
index 000000000000..eb82fc8529c6
--- /dev/null
+++ b/tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json
@@ -0,0 +1,206 @@
+[
+    {
+        "ArchStdEvent": "L1D_CACHE_RD",
+    },
+    {
+        "ArchStdEvent": "L1D_CACHE_WR",
+    },
+    {
+        "ArchStdEvent": "L1D_CACHE_REFILL_RD",
+    },
+    {
+        "ArchStdEvent": "L1D_CACHE_REFILL_WR",
+    },
+    {
+        "ArchStdEvent": "L1D_CACHE_REFILL_INNER",
+    },
+    {
+        "ArchStdEvent": "L1D_CACHE_REFILL_OUTER",
+    },
+    {
+        "ArchStdEvent": "L1D_CACHE_WB_VICTIM",
+    },
+    {
+        "ArchStdEvent": "L1D_CACHE_WB_CLEAN",
+    },
+    {
+        "ArchStdEvent": "L1D_CACHE_INVAL",
+    },
+    {
+        "ArchStdEvent": "L1D_TLB_REFILL_RD",
+    },
+    {
+        "ArchStdEvent": "L1D_TLB_REFILL_WR",
+    },
+    {
+        "ArchStdEvent": "L1D_TLB_RD",
+    },
+    {
+        "ArchStdEvent": "L1D_TLB_WR",
+    },
+    {
+        "ArchStdEvent": "L2D_CACHE_RD",
+    },
+    {
+        "ArchStdEvent": "L2D_CACHE_WR",
+    },
+    {
+        "ArchStdEvent": "L2D_CACHE_REFILL_RD",
+    },
+    {
+        "ArchStdEvent": "L2D_CACHE_REFILL_WR",
+    },
+    {
+        "ArchStdEvent": "L2D_CACHE_WB_VICTIM",
+    },
+    {
+        "ArchStdEvent": "L2D_CACHE_WB_CLEAN",
+    },
+    {
+        "ArchStdEvent": "L2D_CACHE_INVAL",
+    },
+    {
+        "ArchStdEvent": "L2D_TLB_REFILL_RD",
+    },
+    {
+        "ArchStdEvent": "L2D_TLB_REFILL_WR",
+    },
+    {
+        "ArchStdEvent": "L2D_TLB_RD",
+    },
+    {
+        "ArchStdEvent": "L2D_TLB_WR",
+    },
+    {
+        "ArchStdEvent": "BUS_ACCESS_RD",
+    },
+    {
+        "ArchStdEvent": "BUS_ACCESS_WR",
+    },
+    {
+        "ArchStdEvent": "BUS_ACCESS_SHARED",
+    },
+    {
+        "ArchStdEvent": "BUS_ACCESS_NOT_SHARED",
+    },
+    {
+        "ArchStdEvent": "BUS_ACCESS_NORMAL",
+    },
+    {
+        "ArchStdEvent": "BUS_ACCESS_PERIPH",
+    },
+    {
+        "ArchStdEvent": "MEM_ACCESS_RD",
+    },
+    {
+        "ArchStdEvent": "MEM_ACCESS_WR",
+    },
+    {
+        "ArchStdEvent": "UNALIGNED_LD_SPEC",
+    },
+    {
+        "ArchStdEvent": "UNALIGNED_ST_SPEC",
+    },
+    {
+        "ArchStdEvent": "UNALIGNED_LDST_SPEC",
+    },
+    {
+        "ArchStdEvent": "LDREX_SPEC",
+    },
+    {
+        "ArchStdEvent": "STREX_PASS_SPEC",
+    },
+    {
+        "ArchStdEvent": "STREX_FAIL_SPEC",
+    },
+    {
+        "ArchStdEvent": "STREX_SPEC",
+    },
+    {
+        "ArchStdEvent": "LD_SPEC",
+    },
+    {
+        "ArchStdEvent": "ST_SPEC",
+    },
+    {
+        "ArchStdEvent": "LDST_SPEC",
+    },
+    {
+        "ArchStdEvent": "DP_SPEC",
+    },
+    {
+        "ArchStdEvent": "ASE_SPEC",
+    },
+    {
+        "ArchStdEvent": "VFP_SPEC",
+    },
+    {
+        "ArchStdEvent": "PC_WRITE_SPEC",
+    },
+    {
+        "ArchStdEvent": "CRYPTO_SPEC",
+    },
+    {
+        "ArchStdEvent": "BR_IMMED_SPEC",
+    },
+    {
+        "ArchStdEvent": "BR_RETURN_SPEC",
+    },
+    {
+        "ArchStdEvent": "BR_INDIRECT_SPEC",
+    },
+    {
+        "ArchStdEvent": "ISB_SPEC",
+    },
+    {
+        "ArchStdEvent": "DSB_SPEC",
+    },
+    {
+        "ArchStdEvent": "DMB_SPEC",
+    },
+    {
+        "ArchStdEvent": "EXC_UNDEF",
+    },
+    {
+        "ArchStdEvent": "EXC_SVC",
+    },
+    {
+        "ArchStdEvent": "EXC_PABORT",
+    },
+    {
+        "ArchStdEvent": "EXC_DABORT",
+    },
+    {
+        "ArchStdEvent": "EXC_IRQ",
+    },
+    {
+        "ArchStdEvent": "EXC_FIQ",
+    },
+    {
+        "ArchStdEvent": "EXC_SMC",
+    },
+    {
+        "ArchStdEvent": "EXC_HVC",
+    },
+    {
+        "ArchStdEvent": "EXC_TRAP_PABORT",
+    },
+    {
+        "ArchStdEvent": "EXC_TRAP_DABORT",
+    },
+    {
+        "ArchStdEvent": "EXC_TRAP_OTHER",
+    },
+    {
+        "ArchStdEvent": "EXC_TRAP_IRQ",
+    },
+    {
+        "ArchStdEvent": "EXC_TRAP_FIQ",
+    },
+    {
+        "ArchStdEvent": "RC_LD_SPEC",
+    },
+    {
+        "ArchStdEvent": "RC_ST_SPEC",
+    },
+]
diff --git a/tools/perf/pmu-events/arch/arm64/mapfile.csv b/tools/perf/pmu-events/arch/arm64/mapfile.csv
index 59cd8604b0bd..716d59248e82 100644
--- a/tools/perf/pmu-events/arch/arm64/mapfile.csv
+++ b/tools/perf/pmu-events/arch/arm64/mapfile.csv
@@ -13,6 +13,7 @@
 #
 #Family-model,Version,Filename,EventType
 0x00000000410fd03[[:xdigit:]],v1,arm/cortex-a53,core
+0x00000000410fd08[[:xdigit:]],v1,arm/cortex-a72,core
 0x00000000420f5160,v1,cavium/thunderx2,core
 0x00000000430f0af0,v1,cavium/thunderx2,core
 0x00000000480fd010,v1,hisilicon/hip08,core
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] perf vendor events arm64: Add Cortex-A72 events
  2019-04-07 21:34 [PATCH] perf vendor events arm64: Add Cortex-A72 events Florian Fainelli
@ 2019-04-08 16:47 ` Will Deacon
  2019-04-09 14:30   ` Florian Fainelli
  2019-04-11 13:01 ` John Garry
  1 sibling, 1 reply; 5+ messages in thread
From: Will Deacon @ 2019-04-08 16:47 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: Mark Rutland, Peter Zijlstra, Catalin Marinas, linux-kernel,
	Arnaldo Carvalho de Melo, Alexander Shishkin, Ingo Molnar,
	Namhyung Kim, Jiri Olsa,
	moderated list:ARM PMU PROFILING AND DEBUGGING

Hi Florian,

On Sun, Apr 07, 2019 at 02:34:22PM -0700, Florian Fainelli wrote:
> The Cortex-A72 supports all ARMv8 recommended events up to the
> RC_ST_SPEC (0x91) event, create an appropriate JSON file for mapping
> those events and update the mapfile.csv for matching the Cortex-A72 MIDR
> to that file.
> 
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
>  .../arm64/arm/cortex-a72/core-imp-def.json    | 206 ++++++++++++++++++
>  tools/perf/pmu-events/arch/arm64/mapfile.csv  |   1 +
>  2 files changed, 207 insertions(+)
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json

It would be worth checking how many of these events are common between a57
and a72, as they may be able to share much of the json file.

Cheers,

Will

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] perf vendor events arm64: Add Cortex-A72 events
  2019-04-08 16:47 ` Will Deacon
@ 2019-04-09 14:30   ` Florian Fainelli
  0 siblings, 0 replies; 5+ messages in thread
From: Florian Fainelli @ 2019-04-09 14:30 UTC (permalink / raw)
  To: Will Deacon
  Cc: Mark Rutland, Peter Zijlstra, Catalin Marinas, linux-kernel,
	Arnaldo Carvalho de Melo, Alexander Shishkin, Ingo Molnar,
	Namhyung Kim, Jiri Olsa,
	moderated list:ARM PMU PROFILING AND DEBUGGING



On 4/8/2019 9:47 AM, Will Deacon wrote:
> Hi Florian,
> 
> On Sun, Apr 07, 2019 at 02:34:22PM -0700, Florian Fainelli wrote:
>> The Cortex-A72 supports all ARMv8 recommended events up to the
>> RC_ST_SPEC (0x91) event, create an appropriate JSON file for mapping
>> those events and update the mapfile.csv for matching the Cortex-A72 MIDR
>> to that file.
>>
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>> ---
>>  .../arm64/arm/cortex-a72/core-imp-def.json    | 206 ++++++++++++++++++
>>  tools/perf/pmu-events/arch/arm64/mapfile.csv  |   1 +
>>  2 files changed, 207 insertions(+)
>>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json
> 
> It would be worth checking how many of these events are common between a57
> and a72, as they may be able to share much of the json file.

Makes sense, will check the Cortex-A57 TRM and re-submit accordingly.
Thanks!
-- 
Florian

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] perf vendor events arm64: Add Cortex-A72 events
  2019-04-07 21:34 [PATCH] perf vendor events arm64: Add Cortex-A72 events Florian Fainelli
  2019-04-08 16:47 ` Will Deacon
@ 2019-04-11 13:01 ` John Garry
  2019-05-02 21:41   ` Florian Fainelli
  1 sibling, 1 reply; 5+ messages in thread
From: John Garry @ 2019-04-11 13:01 UTC (permalink / raw)
  To: Florian Fainelli, linux-kernel
  Cc: Mark Rutland, Peter Zijlstra, Catalin Marinas, Will Deacon,
	Arnaldo Carvalho de Melo, Alexander Shishkin, Ingo Molnar,
	Namhyung Kim, Jiri Olsa,
	moderated list:ARM PMU PROFILING AND DEBUGGING

On 07/04/2019 22:34, Florian Fainelli wrote:
> The Cortex-A72 supports all ARMv8 recommended events up to the
> RC_ST_SPEC (0x91) event, create an appropriate JSON file for mapping
> those events and update the mapfile.csv for matching the Cortex-A72 MIDR
> to that file.
>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
>  .../arm64/arm/cortex-a72/core-imp-def.json    | 206 ++++++++++++++++++
>  tools/perf/pmu-events/arch/arm64/mapfile.csv  |   1 +
>  2 files changed, 207 insertions(+)
>  create mode 100644 tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json
>
> diff --git a/tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json b/tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json
> new file mode 100644
> index 000000000000..eb82fc8529c6
> --- /dev/null
> +++ b/tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json
> @@ -0,0 +1,206 @@
> +[
> +    {
> +        "ArchStdEvent": "L1D_CACHE_RD",
> +    },
> +    {
> +        "ArchStdEvent": "L1D_CACHE_WR",
> +    },
> +    {
> +        "ArchStdEvent": "L1D_CACHE_REFILL_RD",
> +    },
> +    {
> +        "ArchStdEvent": "L1D_CACHE_REFILL_WR",
> +    },
> +    {
> +        "ArchStdEvent": "L1D_CACHE_REFILL_INNER",

I'm just checking the A72 TRM, and this does not seem to be included, 
that being event number 0x44.

> +    },
> +    {
> +        "ArchStdEvent": "L1D_CACHE_REFILL_OUTER",
> +    },

Or this.

> +    {
> +        "ArchStdEvent": "L1D_CACHE_WB_VICTIM",
> +    },
> +    {

Please check this.

Thanks,
John



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] perf vendor events arm64: Add Cortex-A72 events
  2019-04-11 13:01 ` John Garry
@ 2019-05-02 21:41   ` Florian Fainelli
  0 siblings, 0 replies; 5+ messages in thread
From: Florian Fainelli @ 2019-05-02 21:41 UTC (permalink / raw)
  To: John Garry, linux-kernel
  Cc: Mark Rutland, Peter Zijlstra, Catalin Marinas, Will Deacon,
	Arnaldo Carvalho de Melo, Alexander Shishkin, Ingo Molnar,
	Namhyung Kim, Jiri Olsa,
	moderated list:ARM PMU PROFILING AND DEBUGGING

On 4/11/19 6:01 AM, John Garry wrote:
> On 07/04/2019 22:34, Florian Fainelli wrote:
>> The Cortex-A72 supports all ARMv8 recommended events up to the
>> RC_ST_SPEC (0x91) event, create an appropriate JSON file for mapping
>> those events and update the mapfile.csv for matching the Cortex-A72 MIDR
>> to that file.
>>
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>> ---
>>  .../arm64/arm/cortex-a72/core-imp-def.json    | 206 ++++++++++++++++++
>>  tools/perf/pmu-events/arch/arm64/mapfile.csv  |   1 +
>>  2 files changed, 207 insertions(+)
>>  create mode 100644
>> tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json
>>
>> diff --git
>> a/tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json
>> b/tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json
>> new file mode 100644
>> index 000000000000..eb82fc8529c6
>> --- /dev/null
>> +++ b/tools/perf/pmu-events/arch/arm64/arm/cortex-a72/core-imp-def.json
>> @@ -0,0 +1,206 @@
>> +[
>> +    {
>> +        "ArchStdEvent": "L1D_CACHE_RD",
>> +    },
>> +    {
>> +        "ArchStdEvent": "L1D_CACHE_WR",
>> +    },
>> +    {
>> +        "ArchStdEvent": "L1D_CACHE_REFILL_RD",
>> +    },
>> +    {
>> +        "ArchStdEvent": "L1D_CACHE_REFILL_WR",
>> +    },
>> +    {
>> +        "ArchStdEvent": "L1D_CACHE_REFILL_INNER",
> 
> I'm just checking the A72 TRM, and this does not seem to be included,
> that being event number 0x44.
> 
>> +    },
>> +    {
>> +        "ArchStdEvent": "L1D_CACHE_REFILL_OUTER",
>> +    },
> 
> Or this.
> 
>> +    {
>> +        "ArchStdEvent": "L1D_CACHE_WB_VICTIM",
>> +    },
>> +    {
> 
> Please check this.

Indeed, thanks!
-- 
Florian

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-05-02 21:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-07 21:34 [PATCH] perf vendor events arm64: Add Cortex-A72 events Florian Fainelli
2019-04-08 16:47 ` Will Deacon
2019-04-09 14:30   ` Florian Fainelli
2019-04-11 13:01 ` John Garry
2019-05-02 21:41   ` Florian Fainelli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).