Hacker News new | ask | show | jobs
by xgbi 1694 days ago
Do you have power consumption numbers? Compared to the Pi Zero W, hom much more does it consumes?
1 comments

Yes; check my blog post [1] or latest YouTube video [2] for details, but the tldr is 0.4W (80 mA) idle minimum for Zero W, 0.6W (100 mA) idle minimum for Zero W 2.

Zero W goes up to 160 mA at load, while Zero W 2 gets up to 400-500 mA due to the three extra CPU cores.

[1] https://www.jeffgeerling.com/blog/2021/look-inside-raspberry...

[2] https://www.youtube.com/watch?v=lKS2ElWQizA

That's a big jump. Is there a way of getting Linux to disable a couple of cores?
`echo 0 > /sys/devices/system/cpu/cpu[0-n]/online` should do what you want.
Even as root, that gives `permission denied` on Pi OS on the Zero 2 W. I'm trying the kernel cmdline option too.

Edit: That works! See: https://www.jeffgeerling.com/blog/2021/disabling-cores-reduc...

Well… I said it should, not that it would. ;-)
On x86 there was an option, i think nr_cpus or something like that some time ago. There was also SMP_KERNEL kernel config option.
2W! Did you measure Gflops? I wish you could disable cores dynamically...
That's why they called it Pi Zero 2 W and not Pi Zero W 2, which is what it is.
> I wish you could disable cores dynamically...

Another comment says /sys/devices/system/cpu/cpu[0-n]/online doesn't work, but I think you can get pretty far by changing the CPU affinity at the cgroup or process levels (for userspace) and on /proc/irq/default_smp_affinity (for interrupts). There are likely some kernel threads that would still run on the other cores, but this is reasonably close.

In particular, looks like setting CPUAffinity= /etc/systemd/system.conf will set a default for all of userspace that you can override for particular things as desired.

Is undervolting an option?