[PATCH v4 15/21] PM / devfreq: rockchip-dfi: Add perf support
Sascha Hauer
s.hauer at pengutronix.de
Wed May 10 12:56:34 PDT 2023
On Tue, May 09, 2023 at 09:04:58PM +0100, Robin Murphy wrote:
> On 2023-05-05 12:38, Sascha Hauer wrote:
> > The DFI is a unit which is suitable for measuring DDR utilization, but
> > so far it could only be used as an event driver for the DDR frequency
> > scaling driver. This adds perf support to the DFI driver.
> >
> > Usage with the 'perf' tool can look like:
> >
> > perf stat -a -e rockchip_ddr/cycles/,\
> > rockchip_ddr/read-bytes/,\
> > rockchip_ddr/write-bytes/,\
> > rockchip_ddr/bytes/ sleep 1
> >
> > Performance counter stats for 'system wide':
> >
> > 1582524826 rockchip_ddr/cycles/
> > 1802.25 MB rockchip_ddr/read-bytes/
> > 1793.72 MB rockchip_ddr/write-bytes/
> > 3595.90 MB rockchip_ddr/bytes/
> >
> > 1.014369709 seconds time elapsed
> >
> > perf support has been tested on a RK3568 and a RK3399, the latter with
> > dual channel DDR.
>
> Might it be useful to offer the option of monitoring each channel
> individually?
I gave it a quick try. For my normal testing workload the values are
spread quite homogeneously:
Performance counter stats for 'system wide':
1062183406 rockchip_ddr/cycles/
1517.57 MB rockchip_ddr/read-bytes0/
1517.11 MB rockchip_ddr/write-bytes0/
1519.78 MB rockchip_ddr/read-bytes1/
1514.97 MB rockchip_ddr/write-bytes1/
1518.69 MB rockchip_ddr/read-bytes2/
1516.01 MB rockchip_ddr/write-bytes2/
1519.37 MB rockchip_ddr/read-bytes3/
1515.46 MB rockchip_ddr/write-bytes3/
12137.84 MB rockchip_ddr/bytes/
1.005686209 seconds time elapsed
I found one workload that looks strange though:
Performance counter stats for 'system wide':
1076756945 rockchip_ddr/cycles/
2326.55 MB rockchip_ddr/read-bytes0/
30.60 MB rockchip_ddr/write-bytes0/
0.24 MB rockchip_ddr/read-bytes1/
0.09 MB rockchip_ddr/write-bytes1/
0.21 MB rockchip_ddr/read-bytes2/
0.09 MB rockchip_ddr/write-bytes2/
0.30 MB rockchip_ddr/read-bytes3/
0.10 MB rockchip_ddr/write-bytes3/
2357.87 MB rockchip_ddr/bytes/
I am running this tool (likely not the exact version):
https://github.com/mturquette/memtest/blob/master/mtest.c
I don't know yet what this tool is doing, but it somehow manages
to use only a single channel.
We might take this as a sign that monitoring the individual channels can
indeed be useful.
I'll address your other comments in the next round.
Thanks for your input
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the linux-arm-kernel
mailing list