Message ID | 20180217142235.28541-1-embed3d@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sat, Feb 17, 2018 at 03:22:35PM +0100, Philipp Rossak wrote: > Right now the performance govenor is the default frequency govenor on > sunxi devices. This causes some general problems. > When the cpu is idle the cpu runs with its maximum frequency. > This causes a higher cpu temperature in the idle state. When the cpu is > now under load the cpu gets with that higher idle temperature now faster > to its thermal limits. > An other big problem of the performace govenor is the missing > thermal throttling. Some tests with cpuburn resulted in a system crash > when the soc reached its thermal limits since no thermal throttling > occurred. This won't change anything with cpuburn. While cpuburn will be running, ondemand will increase the frequency of the cores to the maximum frequency, putting yourself in the exact same situation. The only difference is going to be when you're idle or have a rather small CPU load. But then, you won't heat much in that case either. > With this patch we set the default frequency govenor to ondemand mode > and reduce the temperature when the cpu is idle and activate the thermal > throtteling. This patch doesn't activate the thermal throttling. Maxime
On 19.02.2018 09:10, Maxime Ripard wrote: > On Sat, Feb 17, 2018 at 03:22:35PM +0100, Philipp Rossak wrote: >> Right now the performance govenor is the default frequency govenor on >> sunxi devices. This causes some general problems. >> When the cpu is idle the cpu runs with its maximum frequency. >> This causes a higher cpu temperature in the idle state. When the cpu is >> now under load the cpu gets with that higher idle temperature now faster >> to its thermal limits. >> An other big problem of the performace govenor is the missing >> thermal throttling. Some tests with cpuburn resulted in a system crash >> when the soc reached its thermal limits since no thermal throttling >> occurred. > > This won't change anything with cpuburn. While cpuburn will be > running, ondemand will increase the frequency of the cores to the > maximum frequency, putting yourself in the exact same situation. > I see here a totally different behavior on the hardware (Bananapi M2, A31s). First ondemand increases the cpu frequency, when the maximum temperature is reached, then it throttles down the cpu step by step to its minimum. And the cpu doesn't get killed, like with the performance govenor. I can record some "logs" with RPi-Monitor if this is requiered. > The only difference is going to be when you're idle or have a rather > small CPU load. But then, you won't heat much in that case either. > >> With this patch we set the default frequency govenor to ondemand mode >> and reduce the temperature when the cpu is idle and activate the thermal >> throtteling. > > This patch doesn't activate the thermal throttling. > > Maxime > Sorry for my late reply! Philipp
On Mon, Feb 26, 2018 at 10:29:29PM +0100, Philipp Rossak wrote: > > > On 19.02.2018 09:10, Maxime Ripard wrote: > > On Sat, Feb 17, 2018 at 03:22:35PM +0100, Philipp Rossak wrote: > > > Right now the performance govenor is the default frequency govenor on > > > sunxi devices. This causes some general problems. > > > When the cpu is idle the cpu runs with its maximum frequency. > > > This causes a higher cpu temperature in the idle state. When the cpu is > > > now under load the cpu gets with that higher idle temperature now faster > > > to its thermal limits. > > > An other big problem of the performace govenor is the missing > > > thermal throttling. Some tests with cpuburn resulted in a system crash > > > when the soc reached its thermal limits since no thermal throttling > > > occurred. > > > > This won't change anything with cpuburn. While cpuburn will be > > running, ondemand will increase the frequency of the cores to the > > maximum frequency, putting yourself in the exact same situation. > > I see here a totally different behavior on the hardware (Bananapi M2, A31s). > First ondemand increases the cpu frequency, when the maximum temperature is > reached, then it throttles down the cpu step by step to its minimum. This is the thermal throttling, not the cpufreq governor. Maxime
diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig index df433abfcb02..e5812851091c 100644 --- a/arch/arm/configs/sunxi_defconfig +++ b/arch/arm/configs/sunxi_defconfig @@ -14,6 +14,7 @@ CONFIG_CMA=y CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y CONFIG_CPUFREQ_DT=y CONFIG_VFP=y CONFIG_NEON=y
Right now the performance govenor is the default frequency govenor on sunxi devices. This causes some general problems. When the cpu is idle the cpu runs with its maximum frequency. This causes a higher cpu temperature in the idle state. When the cpu is now under load the cpu gets with that higher idle temperature now faster to its thermal limits. An other big problem of the performace govenor is the missing thermal throttling. Some tests with cpuburn resulted in a system crash when the soc reached its thermal limits since no thermal throttling occurred. With this patch we set the default frequency govenor to ondemand mode and reduce the temperature when the cpu is idle and activate the thermal throtteling. Signed-off-by: Philipp Rossak <embed3d@gmail.com> --- arch/arm/configs/sunxi_defconfig | 1 + 1 file changed, 1 insertion(+)