2021-01-27 22:18:29

by Joakim Zhang

[permalink] [raw]
Subject: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M platforms

Add JSON metrics for i.MX8M platforms.

ChangeLogs:
V1->V2:
* remove board level metrics (bandwidth metrics).
V2->V3:
* Add the missing "ScaleUnit".

Joakim Zhang (4):
perf vendor events: Fix indentation of brackets in imx8mm metrics
perf vendor events: Add JSON metrics for imx8mn DDR Perf
perf vendor events: Add JSON metrics for imx8mq DDR Perf
perf vendor events: Add JSON metrics for imx8mp DDR Perf

.../arm64/freescale/imx8mm/sys/metrics.json | 4 +-
.../arch/arm64/freescale/imx8mn/sys/ddrc.json | 37 ++
.../arm64/freescale/imx8mn/sys/metrics.json | 18 +
.../arch/arm64/freescale/imx8mp/sys/ddrc.json | 37 ++
.../arm64/freescale/imx8mp/sys/metrics.json | 466 ++++++++++++++++++
.../arch/arm64/freescale/imx8mq/sys/ddrc.json | 37 ++
.../arm64/freescale/imx8mq/sys/metrics.json | 18 +
7 files changed, 615 insertions(+), 2 deletions(-)
create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx8mn/sys/ddrc.json
create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx8mn/sys/metrics.json
create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx8mp/sys/ddrc.json
create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx8mp/sys/metrics.json
create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx8mq/sys/ddrc.json
create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx8mq/sys/metrics.json

--
2.17.1


2021-01-27 22:20:45

by Joakim Zhang

[permalink] [raw]
Subject: [PATCH V3 3/4] perf vendor events: Add JSON metrics for imx8mq DDR Perf

Add JSON metrics for imx8mq DDR Perf.

Signed-off-by: Joakim Zhang <[email protected]>
---
.../arch/arm64/freescale/imx8mq/sys/ddrc.json | 37 +++++++++++++++++++
.../arm64/freescale/imx8mq/sys/metrics.json | 18 +++++++++
2 files changed, 55 insertions(+)
create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx8mq/sys/ddrc.json
create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx8mq/sys/metrics.json

diff --git a/tools/perf/pmu-events/arch/arm64/freescale/imx8mq/sys/ddrc.json b/tools/perf/pmu-events/arch/arm64/freescale/imx8mq/sys/ddrc.json
new file mode 100644
index 000000000000..c8682728ddad
--- /dev/null
+++ b/tools/perf/pmu-events/arch/arm64/freescale/imx8mq/sys/ddrc.json
@@ -0,0 +1,37 @@
+[
+ {
+ "BriefDescription": "ddr cycles event",
+ "EventCode": "0x00",
+ "EventName": "imx8mq_ddr.cycles",
+ "Unit": "imx8_ddr",
+ "Compat": "i.MX8MQ"
+ },
+ {
+ "BriefDescription": "ddr read-cycles event",
+ "EventCode": "0x2a",
+ "EventName": "imx8mq_ddr.read_cycles",
+ "Unit": "imx8_ddr",
+ "Compat": "i.MX8MQ"
+ },
+ {
+ "BriefDescription": "ddr write-cycles event",
+ "EventCode": "0x2b",
+ "EventName": "imx8mq_ddr.write_cycles",
+ "Unit": "imx8_ddr",
+ "Compat": "i.MX8MQ"
+ },
+ {
+ "BriefDescription": "ddr read event",
+ "EventCode": "0x35",
+ "EventName": "imx8mq_ddr.read",
+ "Unit": "imx8_ddr",
+ "Compat": "i.MX8MQ"
+ },
+ {
+ "BriefDescription": "ddr write event",
+ "EventCode": "0x38",
+ "EventName": "imx8mq_ddr.write",
+ "Unit": "imx8_ddr",
+ "Compat": "i.MX8MQ"
+ }
+]
diff --git a/tools/perf/pmu-events/arch/arm64/freescale/imx8mq/sys/metrics.json b/tools/perf/pmu-events/arch/arm64/freescale/imx8mq/sys/metrics.json
new file mode 100644
index 000000000000..862c98171e0d
--- /dev/null
+++ b/tools/perf/pmu-events/arch/arm64/freescale/imx8mq/sys/metrics.json
@@ -0,0 +1,18 @@
+[
+ {
+ "BriefDescription": "bytes all masters read from ddr based on read-cycles event",
+ "MetricName": "imx8mq_ddr_read.all",
+ "MetricExpr": "imx8mq_ddr.read_cycles * 4 * 4",
+ "ScaleUnit": "9.765625e-4KB",
+ "Unit": "imx8_ddr",
+ "Compat": "i.MX8MQ"
+ },
+ {
+ "BriefDescription": "bytes all masters write to ddr based on write-cycles event",
+ "MetricName": "imx8mq_ddr_write.all",
+ "MetricExpr": "imx8mq_ddr.write_cycles * 4 * 4",
+ "ScaleUnit": "9.765625e-4KB",
+ "Unit": "imx8_ddr",
+ "Compat": "i.MX8MQ"
+ }
+]
--
2.17.1

2021-01-28 00:00:03

by John Garry

[permalink] [raw]
Subject: Re: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M platforms

On 27/01/2021 10:57, Joakim Zhang wrote:
> Add JSON metrics for i.MX8M platforms.
>
> ChangeLogs:
> V1->V2:
> * remove board level metrics (bandwidth metrics).
> V2->V3:
> * Add the missing "ScaleUnit".
>
> Joakim Zhang (4):
> perf vendor events: Fix indentation of brackets in imx8mm metrics
> perf vendor events: Add JSON metrics for imx8mn DDR Perf
> perf vendor events: Add JSON metrics for imx8mq DDR Perf
> perf vendor events: Add JSON metrics for imx8mp DDR Perf

For the series:
Reviewed-by: John Garry <[email protected]>

2021-02-18 11:46:44

by Joakim Zhang

[permalink] [raw]
Subject: RE: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M platforms


Gentle pinging...

Best Regards,
Joakim Zhang

> -----Original Message-----
> From: John Garry <[email protected]>
> Sent: 2021年1月27日 22:14
> To: Joakim Zhang <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]
> Cc: [email protected]; [email protected]; dl-linux-imx
> <[email protected]>; [email protected];
> [email protected]; [email protected]
> Subject: Re: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M
> platforms
>
> On 27/01/2021 10:57, Joakim Zhang wrote:
> > Add JSON metrics for i.MX8M platforms.
> >
> > ChangeLogs:
> > V1->V2:
> > * remove board level metrics (bandwidth metrics).
> > V2->V3:
> > * Add the missing "ScaleUnit".
> >
> > Joakim Zhang (4):
> > perf vendor events: Fix indentation of brackets in imx8mm metrics
> > perf vendor events: Add JSON metrics for imx8mn DDR Perf
> > perf vendor events: Add JSON metrics for imx8mq DDR Perf
> > perf vendor events: Add JSON metrics for imx8mp DDR Perf
>
> For the series:
> Reviewed-by: John Garry <[email protected]>

2021-02-18 15:38:14

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M platforms

Em Thu, Feb 18, 2021 at 10:14:29AM +0000, Joakim Zhang escreveu:
>
> Gentle pinging...

Thanks, applied.

- Arnaldo


> Best Regards,
> Joakim Zhang
>
> > -----Original Message-----
> > From: John Garry <[email protected]>
> > Sent: 2021年1月27日 22:14
> > To: Joakim Zhang <[email protected]>; [email protected];
> > [email protected]; [email protected]; [email protected];
> > [email protected]; [email protected]; [email protected];
> > [email protected]; [email protected];
> > [email protected]; [email protected]; [email protected]
> > Cc: [email protected]; [email protected]; dl-linux-imx
> > <[email protected]>; [email protected];
> > [email protected]; [email protected]
> > Subject: Re: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M
> > platforms
> >
> > On 27/01/2021 10:57, Joakim Zhang wrote:
> > > Add JSON metrics for i.MX8M platforms.
> > >
> > > ChangeLogs:
> > > V1->V2:
> > > * remove board level metrics (bandwidth metrics).
> > > V2->V3:
> > > * Add the missing "ScaleUnit".
> > >
> > > Joakim Zhang (4):
> > > perf vendor events: Fix indentation of brackets in imx8mm metrics
> > > perf vendor events: Add JSON metrics for imx8mn DDR Perf
> > > perf vendor events: Add JSON metrics for imx8mq DDR Perf
> > > perf vendor events: Add JSON metrics for imx8mp DDR Perf
> >
> > For the series:
> > Reviewed-by: John Garry <[email protected]>

--

- Arnaldo

2021-07-06 08:32:15

by John Garry

[permalink] [raw]
Subject: Re: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M platforms

On 27/01/2021 10:57, Joakim Zhang wrote:
> Add JSON metrics for i.MX8M platforms.
>

Hi Joakim,

I have done some rework to the metricgroup sys event support.

If you have a chance, it would be appreciated if you could test this
following series for these imx8 metrics+events:

https://github.com/hisilicon/kernel-dev/commits/private-topic-perf-5.13-sys-rewrite-3

Thanks,
John

> ChangeLogs:
> V1->V2:
> * remove board level metrics (bandwidth metrics).
> V2->V3:
> * Add the missing "ScaleUnit".
>
> Joakim Zhang (4):
> perf vendor events: Fix indentation of brackets in imx8mm metrics
> perf vendor events: Add JSON metrics for imx8mn DDR Perf
> perf vendor events: Add JSON metrics for imx8mq DDR Perf
> perf vendor events: Add JSON metrics for imx8mp DDR Perf

2021-07-06 09:53:26

by Joakim Zhang

[permalink] [raw]
Subject: RE: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M platforms


> -----Original Message-----
> From: John Garry <[email protected]>
> Sent: 2021??7??6?? 16:24
> To: Joakim Zhang <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]
> Cc: [email protected]; [email protected]; dl-linux-imx
> <[email protected]>; [email protected];
> [email protected]; [email protected]
> Subject: Re: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M
> platforms
>
> On 27/01/2021 10:57, Joakim Zhang wrote:
> > Add JSON metrics for i.MX8M platforms.
> >
>
> Hi Joakim,
>
> I have done some rework to the metricgroup sys event support.
>
> If you have a chance, it would be appreciated if you could test this following
> series for these imx8 metrics+events:
>
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c
> om%2Fhisilicon%2Fkernel-dev%2Fcommits%2Fprivate-topic-perf-5.13-sys-rewri
> te-3&amp;data=04%7C01%7Cqiangqing.zhang%40nxp.com%7Cbf35517133c3
> 48ebd58e08d940587875%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0
> %7C637611570992762798%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjA
> wMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;s
> data=RzNaXZubTrhO0MRl2sD45v7Vbs1KgzRWCRymTQIJLZM%3D&amp;reser
> ved=0

Hi John,

I only need build perf tool with above code, no need to update the kernel, right?

Best Regards,
Joakim Zhang
> Thanks,
> John
>
> > ChangeLogs:
> > V1->V2:
> > * remove board level metrics (bandwidth metrics).
> > V2->V3:
> > * Add the missing "ScaleUnit".
> >
> > Joakim Zhang (4):
> > perf vendor events: Fix indentation of brackets in imx8mm metrics
> > perf vendor events: Add JSON metrics for imx8mn DDR Perf
> > perf vendor events: Add JSON metrics for imx8mq DDR Perf
> > perf vendor events: Add JSON metrics for imx8mp DDR Perf

2021-07-06 10:14:47

by John Garry

[permalink] [raw]
Subject: Re: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M platforms

On 06/07/2021 10:48, Joakim Zhang wrote:
>> Hi Joakim,
>>
>> I have done some rework to the metricgroup sys event support.
>>
>> If you have a chance, it would be appreciated if you could test this following
>> series for these imx8 metrics+events:
>>
>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c
>> om%2Fhisilicon%2Fkernel-dev%2Fcommits%2Fprivate-topic-perf-5.13-sys-rewri
>> te-3&amp;data=04%7C01%7Cqiangqing.zhang%40nxp.com%7Cbf35517133c3
>> 48ebd58e08d940587875%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0
>> %7C637611570992762798%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjA
>> wMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;s
>> data=RzNaXZubTrhO0MRl2sD45v7Vbs1KgzRWCRymTQIJLZM%3D&amp;reser
>> ved=0
> Hi John,
>
> I only need build perf tool with above code, no need to update the kernel, right?

Right, just userspace perf tool needs rebuild. Same kernel which you
used before should be ok.

Thanks!

2021-07-06 12:43:33

by Joakim Zhang

[permalink] [raw]
Subject: RE: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M platforms


> -----Original Message-----
> From: John Garry <[email protected]>
> Sent: 2021??7??6?? 18:06
> To: Joakim Zhang <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]
> Cc: [email protected]; [email protected]; dl-linux-imx
> <[email protected]>; [email protected];
> [email protected]; [email protected]
> Subject: Re: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M
> platforms
>
> On 06/07/2021 10:48, Joakim Zhang wrote:
> >> Hi Joakim,
> >>
> >> I have done some rework to the metricgroup sys event support.
> >>
> >> If you have a chance, it would be appreciated if you could test this
> >> following series for these imx8 metrics+events:
> >>
> >> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> >> hub.c
> >> om%2Fhisilicon%2Fkernel-dev%2Fcommits%2Fprivate-topic-perf-5.13-sys-r
> >> ewri
> >>
> te-3&amp;data=04%7C01%7Cqiangqing.zhang%40nxp.com%7Cbf35517133c3
> >>
> 48ebd58e08d940587875%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0
> >> %7C637611570992762798%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4w
> LjA
> >>
> wMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;s
> >>
> data=RzNaXZubTrhO0MRl2sD45v7Vbs1KgzRWCRymTQIJLZM%3D&amp;reser
> >> ved=0
> > Hi John,
> >
> > I only need build perf tool with above code, no need to update the kernel,
> right?
>
> Right, just userspace perf tool needs rebuild. Same kernel which you used
> before should be ok.

Hi John,

Test env:
perf version 5.13.rc7.gf9a8701c7091
5.13.0-rc1-next-20210514

I tested on i.MX8MQ, i.MX8MM and i.MX8MP, there is no function breakage, but I have not verified metric includes "duration_time" event.

A nitpick, there is no comma at the end of "Unit".

Best Regards,
Joakim Zhang
>
> Thanks!

2021-07-06 12:50:26

by John Garry

[permalink] [raw]
Subject: Re: [PATCH V3 0/4] tools: perf: Add JSON metrics for i.MX8M platforms

On 06/07/2021 13:28, Joakim Zhang wrote:
>> right?
>>
>> Right, just userspace perf tool needs rebuild. Same kernel which you used
>> before should be ok.
> Hi John,
>
> Test env:
> perf version 5.13.rc7.gf9a8701c7091
> 5.13.0-rc1-next-20210514
>
> I tested on i.MX8MQ, i.MX8MM and i.MX8MP, there is no function breakage, but I have not verified metric includes "duration_time" event.
>

ok, I appreciate that.

> but I have not verified metric includes "duration_time" event.

I didn't think that any imx8 metrics included duration_time. Anyway,
I'll ensure that metrics which contain "duration_time" would not break.

> A nitpick, there is no comma at the end of "Unit".

I'll check it.

Thanks a lot,
John