diff mbox series

[3/3] perf vendor events arm64: Add i.MX91 DDR Performance Monitor metrics

Message ID 20240924061251.3387850-3-xu.yang_2@nxp.com (mailing list archive)
State New
Headers show
Series [1/3] dt-bindings: perf: fsl-imx-ddr: Add i.MX91 compatible | expand

Commit Message

Xu Yang Sept. 24, 2024, 6:12 a.m. UTC
Add JSON metrics for i.MX91 DDR Performance Monitor.

Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
---
 .../arch/arm64/freescale/imx91/sys/ddrc.json  |  9 +++++++
 .../arm64/freescale/imx91/sys/metrics.json    | 26 +++++++++++++++++++
 2 files changed, 35 insertions(+)
 create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
 create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json

Comments

Namhyung Kim Sept. 30, 2024, 9:07 p.m. UTC | #1
Hello,

On Tue, Sep 24, 2024 at 02:12:51PM +0800, Xu Yang wrote:
> Add JSON metrics for i.MX91 DDR Performance Monitor.
> 
> Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> ---
>  .../arch/arm64/freescale/imx91/sys/ddrc.json  |  9 +++++++
>  .../arm64/freescale/imx91/sys/metrics.json    | 26 +++++++++++++++++++
>  2 files changed, 35 insertions(+)
>  create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
>  create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json

How do you want to route this?  As it's mixed with kernel changes, I
would generally request to split but it's a change just to add new
files so it should be ok to go with other tree.  In that case,

Acked-by: Namhyung Kim <namhyung@kernel.org>

Thanks,
Namhyung

> 
> diff --git a/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
> new file mode 100644
> index 000000000000..74ac12660a29
> --- /dev/null
> +++ b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
> @@ -0,0 +1,9 @@
> +[
> +   {
> +           "BriefDescription": "ddr cycles event",
> +           "EventCode": "0x00",
> +           "EventName": "imx91_ddr.cycles",
> +           "Unit": "imx9_ddr",
> +           "Compat": "imx91"
> +   }
> +]
> diff --git a/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json
> new file mode 100644
> index 000000000000..f0c5911eb2d0
> --- /dev/null
> +++ b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json
> @@ -0,0 +1,26 @@
> +[
> +   {
> +	    "BriefDescription": "bandwidth usage for lpddr4 evk board",
> +	    "MetricName": "imx91_bandwidth_usage.lpddr4",
> +	    "MetricExpr": "(((( imx9_ddr0@ddrc_pm_0@ ) * 2 * 8 ) + (( imx9_ddr0@ddrc_pm_3@ + imx9_ddr0@ddrc_pm_5@ + imx9_ddr0@ddrc_pm_7@ + imx9_ddr0@ddrc_pm_9@ - imx9_ddr0@ddrc_pm_2@ - imx9_ddr0@ddrc_pm_4@ - imx9_ddr0@ddrc_pm_6@ - imx9_ddr0@ddrc_pm_8@ ) * 32 )) / duration_time) / (2400 * 1000000 * 2)",
> +	    "ScaleUnit": "1e2%",
> +	    "Unit": "imx9_ddr",
> +	    "Compat": "imx91"
> +   },
> +   {
> +	    "BriefDescription": "bytes all masters read from ddr",
> +	    "MetricName": "imx91_ddr_read.all",
> +	    "MetricExpr": "( imx9_ddr0@ddrc_pm_0@ ) * 2 * 8",
> +	    "ScaleUnit": "9.765625e-4KB",
> +	    "Unit": "imx9_ddr",
> +	    "Compat": "imx91"
> +   },
> +   {
> +	    "BriefDescription": "bytes all masters write to ddr",
> +	    "MetricName": "imx91_ddr_write.all",
> +	    "MetricExpr": "( imx9_ddr0@ddrc_pm_3@ + imx9_ddr0@ddrc_pm_5@ + imx9_ddr0@ddrc_pm_7@ + imx9_ddr0@ddrc_pm_9@ - imx9_ddr0@ddrc_pm_2@ - imx9_ddr0@ddrc_pm_4@ - imx9_ddr0@ddrc_pm_6@ - imx9_ddr0@ddrc_pm_8@ ) * 32",
> +	    "ScaleUnit": "9.765625e-4KB",
> +	    "Unit": "imx9_ddr",
> +	    "Compat": "imx91"
> +   }
> +]
> -- 
> 2.34.1
>
Xu Yang Oct. 8, 2024, 5:49 a.m. UTC | #2
Hi Namhyung,

On Mon, Sep 30, 2024 at 02:07:51PM -0700, Namhyung Kim wrote:
> Hello,
> 
> On Tue, Sep 24, 2024 at 02:12:51PM +0800, Xu Yang wrote:
> > Add JSON metrics for i.MX91 DDR Performance Monitor.
> > 
> > Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> > ---
> >  .../arch/arm64/freescale/imx91/sys/ddrc.json  |  9 +++++++
> >  .../arm64/freescale/imx91/sys/metrics.json    | 26 +++++++++++++++++++
> >  2 files changed, 35 insertions(+)
> >  create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
> >  create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json
> 
> How do you want to route this?  As it's mixed with kernel changes, I
> would generally request to split but it's a change just to add new
> files so it should be ok to go with other tree.  In that case,

Sorry for late.

How about you pick up this one to perf-tools tree and Will Deacon pick up
the first 2 patches to his tree? I didn't see Will apply perf-tools patch
before.

Thanks,
Xu Yang

> 
> Acked-by: Namhyung Kim <namhyung@kernel.org>
> 
> Thanks,
> Namhyung
> 
> > 
> > diff --git a/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
> > new file mode 100644
> > index 000000000000..74ac12660a29
> > --- /dev/null
> > +++ b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
> > @@ -0,0 +1,9 @@
> > +[
> > +   {
> > +           "BriefDescription": "ddr cycles event",
> > +           "EventCode": "0x00",
> > +           "EventName": "imx91_ddr.cycles",
> > +           "Unit": "imx9_ddr",
> > +           "Compat": "imx91"
> > +   }
> > +]
> > diff --git a/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json
> > new file mode 100644
> > index 000000000000..f0c5911eb2d0
> > --- /dev/null
> > +++ b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json
> > @@ -0,0 +1,26 @@
> > +[
> > +   {
> > +	    "BriefDescription": "bandwidth usage for lpddr4 evk board",
> > +	    "MetricName": "imx91_bandwidth_usage.lpddr4",
> > +	    "MetricExpr": "(((( imx9_ddr0@ddrc_pm_0@ ) * 2 * 8 ) + (( imx9_ddr0@ddrc_pm_3@ + imx9_ddr0@ddrc_pm_5@ + imx9_ddr0@ddrc_pm_7@ + imx9_ddr0@ddrc_pm_9@ - imx9_ddr0@ddrc_pm_2@ - imx9_ddr0@ddrc_pm_4@ - imx9_ddr0@ddrc_pm_6@ - imx9_ddr0@ddrc_pm_8@ ) * 32 )) / duration_time) / (2400 * 1000000 * 2)",
> > +	    "ScaleUnit": "1e2%",
> > +	    "Unit": "imx9_ddr",
> > +	    "Compat": "imx91"
> > +   },
> > +   {
> > +	    "BriefDescription": "bytes all masters read from ddr",
> > +	    "MetricName": "imx91_ddr_read.all",
> > +	    "MetricExpr": "( imx9_ddr0@ddrc_pm_0@ ) * 2 * 8",
> > +	    "ScaleUnit": "9.765625e-4KB",
> > +	    "Unit": "imx9_ddr",
> > +	    "Compat": "imx91"
> > +   },
> > +   {
> > +	    "BriefDescription": "bytes all masters write to ddr",
> > +	    "MetricName": "imx91_ddr_write.all",
> > +	    "MetricExpr": "( imx9_ddr0@ddrc_pm_3@ + imx9_ddr0@ddrc_pm_5@ + imx9_ddr0@ddrc_pm_7@ + imx9_ddr0@ddrc_pm_9@ - imx9_ddr0@ddrc_pm_2@ - imx9_ddr0@ddrc_pm_4@ - imx9_ddr0@ddrc_pm_6@ - imx9_ddr0@ddrc_pm_8@ ) * 32",
> > +	    "ScaleUnit": "9.765625e-4KB",
> > +	    "Unit": "imx9_ddr",
> > +	    "Compat": "imx91"
> > +   }
> > +]
> > -- 
> > 2.34.1
> >
Namhyung Kim Oct. 9, 2024, 6:49 a.m. UTC | #3
On Tue, Oct 08, 2024 at 01:49:35PM +0800, Xu Yang wrote:
> Hi Namhyung,
> 
> On Mon, Sep 30, 2024 at 02:07:51PM -0700, Namhyung Kim wrote:
> > Hello,
> > 
> > On Tue, Sep 24, 2024 at 02:12:51PM +0800, Xu Yang wrote:
> > > Add JSON metrics for i.MX91 DDR Performance Monitor.
> > > 
> > > Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> > > ---
> > >  .../arch/arm64/freescale/imx91/sys/ddrc.json  |  9 +++++++
> > >  .../arm64/freescale/imx91/sys/metrics.json    | 26 +++++++++++++++++++
> > >  2 files changed, 35 insertions(+)
> > >  create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
> > >  create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json
> > 
> > How do you want to route this?  As it's mixed with kernel changes, I
> > would generally request to split but it's a change just to add new
> > files so it should be ok to go with other tree.  In that case,
> 
> Sorry for late.
> 
> How about you pick up this one to perf-tools tree and Will Deacon pick up
> the first 2 patches to his tree? I didn't see Will apply perf-tools patch
> before.

Did Will pick up the kernel patches already?

Thanks,
Namhyung
Xu Yang Oct. 9, 2024, 9:38 a.m. UTC | #4
On Tue, Oct 08, 2024 at 11:49:23PM -0700, Namhyung Kim wrote:
> On Tue, Oct 08, 2024 at 01:49:35PM +0800, Xu Yang wrote:
> > Hi Namhyung,
> > 
> > On Mon, Sep 30, 2024 at 02:07:51PM -0700, Namhyung Kim wrote:
> > > Hello,
> > > 
> > > On Tue, Sep 24, 2024 at 02:12:51PM +0800, Xu Yang wrote:
> > > > Add JSON metrics for i.MX91 DDR Performance Monitor.
> > > > 
> > > > Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> > > > ---
> > > >  .../arch/arm64/freescale/imx91/sys/ddrc.json  |  9 +++++++
> > > >  .../arm64/freescale/imx91/sys/metrics.json    | 26 +++++++++++++++++++
> > > >  2 files changed, 35 insertions(+)
> > > >  create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
> > > >  create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json
> > > 
> > > How do you want to route this?  As it's mixed with kernel changes, I
> > > would generally request to split but it's a change just to add new
> > > files so it should be ok to go with other tree.  In that case,
> > 
> > Sorry for late.
> > 
> > How about you pick up this one to perf-tools tree and Will Deacon pick up
> > the first 2 patches to his tree? I didn't see Will apply perf-tools patch
> > before.
> 
> Did Will pick up the kernel patches already?

Not yet. I could ping you once it's done, is it ok?

Thanks,
Xu Yang
Namhyung Kim Oct. 10, 2024, 12:21 a.m. UTC | #5
On Wed, Oct 09, 2024 at 05:38:25PM +0800, Xu Yang wrote:
> On Tue, Oct 08, 2024 at 11:49:23PM -0700, Namhyung Kim wrote:
> > On Tue, Oct 08, 2024 at 01:49:35PM +0800, Xu Yang wrote:
> > > Hi Namhyung,
> > > 
> > > On Mon, Sep 30, 2024 at 02:07:51PM -0700, Namhyung Kim wrote:
> > > > Hello,
> > > > 
> > > > On Tue, Sep 24, 2024 at 02:12:51PM +0800, Xu Yang wrote:
> > > > > Add JSON metrics for i.MX91 DDR Performance Monitor.
> > > > > 
> > > > > Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> > > > > ---
> > > > >  .../arch/arm64/freescale/imx91/sys/ddrc.json  |  9 +++++++
> > > > >  .../arm64/freescale/imx91/sys/metrics.json    | 26 +++++++++++++++++++
> > > > >  2 files changed, 35 insertions(+)
> > > > >  create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
> > > > >  create mode 100644 tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json
> > > > 
> > > > How do you want to route this?  As it's mixed with kernel changes, I
> > > > would generally request to split but it's a change just to add new
> > > > files so it should be ok to go with other tree.  In that case,
> > > 
> > > Sorry for late.
> > > 
> > > How about you pick up this one to perf-tools tree and Will Deacon pick up
> > > the first 2 patches to his tree? I didn't see Will apply perf-tools patch
> > > before.
> > 
> > Did Will pick up the kernel patches already?
> 
> Not yet. I could ping you once it's done, is it ok?

Sure!

Thanks,
Namhyung
diff mbox series

Patch

diff --git a/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
new file mode 100644
index 000000000000..74ac12660a29
--- /dev/null
+++ b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
@@ -0,0 +1,9 @@ 
+[
+   {
+           "BriefDescription": "ddr cycles event",
+           "EventCode": "0x00",
+           "EventName": "imx91_ddr.cycles",
+           "Unit": "imx9_ddr",
+           "Compat": "imx91"
+   }
+]
diff --git a/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json
new file mode 100644
index 000000000000..f0c5911eb2d0
--- /dev/null
+++ b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json
@@ -0,0 +1,26 @@ 
+[
+   {
+	    "BriefDescription": "bandwidth usage for lpddr4 evk board",
+	    "MetricName": "imx91_bandwidth_usage.lpddr4",
+	    "MetricExpr": "(((( imx9_ddr0@ddrc_pm_0@ ) * 2 * 8 ) + (( imx9_ddr0@ddrc_pm_3@ + imx9_ddr0@ddrc_pm_5@ + imx9_ddr0@ddrc_pm_7@ + imx9_ddr0@ddrc_pm_9@ - imx9_ddr0@ddrc_pm_2@ - imx9_ddr0@ddrc_pm_4@ - imx9_ddr0@ddrc_pm_6@ - imx9_ddr0@ddrc_pm_8@ ) * 32 )) / duration_time) / (2400 * 1000000 * 2)",
+	    "ScaleUnit": "1e2%",
+	    "Unit": "imx9_ddr",
+	    "Compat": "imx91"
+   },
+   {
+	    "BriefDescription": "bytes all masters read from ddr",
+	    "MetricName": "imx91_ddr_read.all",
+	    "MetricExpr": "( imx9_ddr0@ddrc_pm_0@ ) * 2 * 8",
+	    "ScaleUnit": "9.765625e-4KB",
+	    "Unit": "imx9_ddr",
+	    "Compat": "imx91"
+   },
+   {
+	    "BriefDescription": "bytes all masters write to ddr",
+	    "MetricName": "imx91_ddr_write.all",
+	    "MetricExpr": "( imx9_ddr0@ddrc_pm_3@ + imx9_ddr0@ddrc_pm_5@ + imx9_ddr0@ddrc_pm_7@ + imx9_ddr0@ddrc_pm_9@ - imx9_ddr0@ddrc_pm_2@ - imx9_ddr0@ddrc_pm_4@ - imx9_ddr0@ddrc_pm_6@ - imx9_ddr0@ddrc_pm_8@ ) * 32",
+	    "ScaleUnit": "9.765625e-4KB",
+	    "Unit": "imx9_ddr",
+	    "Compat": "imx91"
+   }
+]