It was just a change in settings I had forgotten and the TL;DR version is as simple as this:
- consumption difference wrt ASPM with DRAM at lowest clock: 230 mW
- consumption difference wrt ASPM with DRAM at highest clock: 160 mW
Setting /sys/sys/module/pcie_aspm/parameters/policy
to either default
or performance
makes no significant difference. The consumption delta is always compared to powersave
(5.10 BSP kernel default).
Long story: I was still on ‘Linux 5.10.69-rockchip-rk3588’ yesterday. Now decided to start over with Armbian_22.08.0-trunk_Rock-5b_focal_legacy_5.10.69.img
I built 4 weeks ago:
idle consumption: 1250mW
One apt install linux-image-legacy-rockchip-rk3588 linux-dtb-legacy-rockchip-rk3588 linux-u-boot-rock-5b-legacy
and a reboot later I’m at 5.10.72 (Armbian’s version string cosmetics):
idle consumption: 1230mW
Seems neither kernel nor bootloader related. I had a bunch of userland packages also updated but then remembered that silly me recently adjusted relevant settings. Since I started over with a freshly built Ubuntu 20.04 Armbian image (to be able to directly compare with Radxa’s) I had tweaks missing for some time:
/sys/devices/platform/dmc/devfreq/dmc/upthreshold = 25
/sys/sys/module/pcie_aspm/parameters/policy = default
And yesterday I applied these settings again and then the numbers differed.
With ASPM set to powersave
(the kernel default) I’m measuring the 3rd time: idle consumption: 1220mW
(which hints at 1220-1250mW being a range of expected results variation. For the lower numbers: I’ve three RPi USB-C power bricks lying around and am using most probably now a different one than before).
Now switching to /sys/sys/module/pcie_aspm/parameters/policy = default
again I’m measuring three times: 1530mW, 1480mW and 1480mW.
Then retesting with /sys/devices/platform/dmc/devfreq/dmc/governor = powersave
to ensure DRAM keeps clocked at 528 MHz: 1470mW, 1460mW and 1470mW.
One more test with ASPM and dmc governor set to powersave
: idle consumption: 1250mW.
Well, then switching ASPM between powersave
and default
makes up for a consumption difference of ~230mW (1470-1240). That’s a lot more than I measured weeks ago. But now at 50.10.72 and back then most probably on 5.10.66. Also back then there was no dmc governor enabled and as such the DRAM all the time at 2112 MHz (now I’m comparing the difference at 528 MHz).
So retesting with the older image that is at 5.10.69:
DRAM at 528 MHz:
- both ASPM and dmc governor set to
powersave
: 1250mW
- ASPM
default
and dmc governor powersave
: 1510mW
- ASPM
performance
and dmc governor powersave
: 1470mW
DRAM at 2112 MHz:
- ASPM
powersave
and dmc governor performance
: 1930mW
- ASPM
default
and dmc governor performance
: 2090mW
- both ASPM and dmc governor set to
performance
: 2100mW
BTW: when all CPU cores are at 408 MHz the scmi_clk_dsu
clock jumps from 0 to 396 MHz (DSU). No idea how to interpret this…
Setting upthreshold = 20
ends up way too often with DRAM at 2112 MHz instead of 528 MHz as such I slightly increased upthreshold
in my setup. Though need to get a quality M.2 SSD I can use for further tests. Right now every SSD that is not crappy is either in use somewhere else or a few hundred km away.