79 lines
2.4 KiB
Diff
79 lines
2.4 KiB
Diff
From 40a9944d8b1694782caa7a41f7f5a4877528e01f Mon Sep 17 00:00:00 2001
|
|
From: Willy Tarreau <w@1wt.eu>
|
|
Date: Tue, 2 Aug 2016 09:50:03 +0200
|
|
Subject: ARM: dts: rockchip: miqi: throttle only at 92 degrees
|
|
|
|
The board reboots at 95 degrees for the CPU or 85 degrees for the GPU,
|
|
so let's start throttle at 92 for the CPU and 83 for the GPU. Above 90
|
|
degrees, due to the heatsink's thermal resistance, it heats much slower
|
|
so it's important to save even one or two degree to give more room at
|
|
high frequency. It seems like the GPU instead reports the board's
|
|
temperature because it's always about 7-10 degrees below the CPU
|
|
temperature and changes much slower.
|
|
|
|
It's important to significantly increase the critical temperature,
|
|
because it causes a brutal shutdown instead of rebooting the board, so
|
|
it cannot be reliably used in a compute farm. It's better to rely on
|
|
passive throttling, even to risk a spontaneous reboot. This can easily
|
|
be tested with some CPU intensive benchmarks like
|
|
"openssl speed -multi 4 rsa2048", causing the board to immediately
|
|
shut down :
|
|
|
|
/sys/devices/virtual/thermal/thermal_zone1/temp:93214
|
|
/sys/devices/virtual/thermal/thermal_zone2/temp:81923
|
|
[ 65.458046] thermal thermal_zone1: critical temperature reached(93 C),shutting down
|
|
[ 65.527639] reboot: Power down
|
|
---
|
|
arch/arm/boot/dts/rk3288-miqi.dts | 35 +++++++++++++++++++++++++++++++++++
|
|
1 file changed, 35 insertions(+)
|
|
|
|
diff --git a/arch/arm/boot/dts/rk3288-miqi.dts b/arch/arm/boot/dts/rk3288-miqi.dts
|
|
index 6af2c07..1f6f29a 100644
|
|
--- a/arch/arm/boot/dts/rk3288-miqi.dts
|
|
+++ b/arch/arm/boot/dts/rk3288-miqi.dts
|
|
@@ -139,6 +139,41 @@
|
|
>;
|
|
};
|
|
|
|
+&cpu_thermal {
|
|
+ trips {
|
|
+ cpu_alert0: cpu_alert0 {
|
|
+ temperature = <92000>; /* millicelsius */
|
|
+ hysteresis = <2000>; /* millicelsius */
|
|
+ type = "passive";
|
|
+ };
|
|
+ cpu_alert1: cpu_alert1 {
|
|
+ temperature = <94000>; /* millicelsius */
|
|
+ hysteresis = <2000>; /* millicelsius */
|
|
+ type = "passive";
|
|
+ };
|
|
+ cpu_crit: cpu_crit {
|
|
+ temperature = <110000>; /* millicelsius */
|
|
+ hysteresis = <2000>; /* millicelsius */
|
|
+ type = "critical";
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&gpu_thermal {
|
|
+ trips {
|
|
+ gpu_alert0: gpu_alert0 {
|
|
+ temperature = <83000>; /* millicelsius */
|
|
+ hysteresis = <2000>; /* millicelsius */
|
|
+ type = "passive";
|
|
+ };
|
|
+ gpu_crit: gpu_crit {
|
|
+ temperature = <105000>; /* millicelsius */
|
|
+ hysteresis = <2000>; /* millicelsius */
|
|
+ type = "critical";
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
&emmc {
|
|
bus-width = <8>;
|
|
cap-mmc-highspeed;
|
|
--
|
|
2.8.0.rc2.1.gbe9624a
|
|
|