[PATCH 3/3] perf vendor events arm64: Add i.MX91 DDR Performance Monitor metrics
Namhyung Kim
namhyung at kernel.org
Mon Sep 30 14:07:51 PDT 2024
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 at 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 at 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 at ddrc_pm_0@ ) * 2 * 8 ) + (( imx9_ddr0 at ddrc_pm_3@ + imx9_ddr0 at ddrc_pm_5@ + imx9_ddr0 at ddrc_pm_7@ + imx9_ddr0 at ddrc_pm_9@ - imx9_ddr0 at ddrc_pm_2@ - imx9_ddr0 at ddrc_pm_4@ - imx9_ddr0 at ddrc_pm_6@ - imx9_ddr0 at 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 at 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 at ddrc_pm_3@ + imx9_ddr0 at ddrc_pm_5@ + imx9_ddr0 at ddrc_pm_7@ + imx9_ddr0 at ddrc_pm_9@ - imx9_ddr0 at ddrc_pm_2@ - imx9_ddr0 at ddrc_pm_4@ - imx9_ddr0 at ddrc_pm_6@ - imx9_ddr0 at ddrc_pm_8@ ) * 32",
> + "ScaleUnit": "9.765625e-4KB",
> + "Unit": "imx9_ddr",
> + "Compat": "imx91"
> + }
> +]
> --
> 2.34.1
>
More information about the linux-arm-kernel
mailing list