-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RPi3 Frequency Scaling #1335
Comments
The hardware and software supports arbitrary frequencies. |
Okay. Can you give me a hint where to modify that? |
Stupid question, but why is this apparently a hard coded policy in the driver? While I can understand the reasoning for this policy in general (the bit about responsiveness that is, I don't have enough information about the power consumption profiles of the CPU to render an opinion on the power savings from doing things this way), there are perfectly valid reasons for stepping the frequency up and down instead of just jumping between high and low, and while I can understand defaulting to a particular policy, it's kind of ridiculous that there isn't any way (at least from the documentation I've read) to change it from user space. |
My hope is that this could also improve the temperature of the soc under moderate load. |
You can set, say
then
|
Okay. I have modified the freq_table and the kernel is building. Fingers crossed i got the table right. |
Nope, got it wrong. static struct cpufreq_frequency_table bcm2835_freq_table[] = { [EDIT] Some folks on #raspberrypi irc said that this is not possible due to missing firmware headers from the foundation. |
Yes i read that already. But still not smarter. ;)
|
@popcornmix I know this isn't pretty, it's a quick 30 second hack patch, (was just intended to give @robingroppe a pointer), adding an intermediate 900MHz op point. But it doesn't actually work as intended..... It seems that with the first call via firmware to set 900MHz speed, that and every subsequent attempt to set freq via firmware mailbox to a value <1.2GHz, returns 1.2GHz actual. Any ideas? rpi-kernel-cpufreq-hack-patch.txt bcm2835_cpufreq_module_init:127: IN |
@robingroppe has your issue been resolved? If so, please close this issue. Thanks. |
i agree that the kernel should expose more frequencies. the @popcornmix your during normal use i need about 700MHz to sustain a 60Hz framerate. at this clock speed the temperature stays below 80°C, even with an enclosure. on rare occasions and for rather short periods (during calibration) i want the cpu to work as fast as possible. the default ondemand setting would keep the cpu running at 1.2GHz at all times. i'd like to additionally experiment with different gpu / ram frequencies if possible and stable. |
The race to idle strategy may be valid for tasks that can be finished but if you have an endless task it would be better not to ramp up to full freq. |
Closing due to lack of activity. Reopen if you feel this issue is still relevant. |
I'm experiencing an issue with a RPi3 where the system seems to insist on running at 600 MHz instead of the 1.2 GHz base frequency every time a USB device is plugged in. The workaround of writing 1200000 to /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq seems to help somewhat, but when trying to run vcmailbox it fails with the following error message: Any hints on why is this happening? |
What does |
@popcornmix @clivem Is it possible to scale the CPU core voltage as well after the booting process, let's say using some shell commands similar to how we can switch frequency? For example, I want to lower the CPU voltage from 1.2V(default) to 1.1V, Is there a way to do it using some tool or from the terminal by changing some file in /sys (instead of using over_voltage in /boot/config)? I am using a Raspberry Pi 3B+ device. |
Just a question...
Is the limitation that the new cpu can only switch between 600 and 1200MHz hardware or software related?
Is it more efficient to ramp up to 1200MHz and finish the Task asap and sleep longer or lets say switch to 800MHz if thats sufficient for that given task?
The text was updated successfully, but these errors were encountered: