Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1463976

Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC

From Krzysztof Kozlowski <k.kozlowski@samsung.com>
Newsgroups linux.kernel
Subject Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung Exynos5433 64bit SoC
Date 2016-08-16 20:00 +0200
Message-ID <s6QOB-686-7@gated-at.bofh.it> (permalink)
References <s6G2R-7Xd-1@gated-at.bofh.it> <s6Gcx-80i-3@gated-at.bofh.it> <s6M8h-3cC-5@gated-at.bofh.it> <s6JN8-1Ri-3@gated-at.bofh.it> <s6M8h-3cC-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, Aug 16, 2016 at 09:59:26PM +0900, Chanwoo Choi wrote:
> >> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tmu.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tmu.dtsi
> >> new file mode 100644
> >> index 000000000000..175121db367e
> >> --- /dev/null
> >> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tmu.dtsi
> >> @@ -0,0 +1,306 @@
> >> +/*
> >> + * Device tree sources for Exynos5433 thermal zone
> >> + *
> >> + * Copyright (c) 2016 Chanwoo Choi <cw00.choi@samsung.com>
> >> + *
> >> + * This program is free software; you can redistribute it and/or modify
> >> + * it under the terms of the GNU General Public License version 2 as
> >> + * published by the Free Software Foundation.
> >> + */
> >> +
> >> +#include <dt-bindings/thermal/thermal.h>
> >> +
> >> +/ {
> >> +thermal-zones {
> >> +	atlas0_thermal: atlas0-thermal {
> >> +		thermal-sensors = <&tmu_atlas0>;
> >> +		polling-delay-passive = <0>;
> >> +		polling-delay = <0>;
> >> +		trips {
> >> +			atlas0_alert_0: atlas0-alert-0 {
> >> +				temperature = <50000>;	/* millicelsius */
> >> +				hysteresis = <1000>;	/* millicelsius */
> >> +				type = "active";
> >> +			};
> >> +			atlas0_alert_1: atlas0-alert-1 {
> >> +				temperature = <55000>;	/* millicelsius */
> >> +				hysteresis = <1000>;	/* millicelsius */
> >> +				type = "active";
> >> +			};
> >> +			atlas0_alert_2: atlas0-alert-2 {
> >> +				temperature = <60000>;	/* millicelsius */
> >> +				hysteresis = <1000>;	/* millicelsius */
> >> +				type = "active";
> >> +			};
> >> +			atlas0_alert_3: atlas0-alert-3 {
> >> +				temperature = <70000>;	/* millicelsius */
> >> +				hysteresis = <1000>;	/* millicelsius */
> >> +				type = "active";
> >> +			};
> >> +			atlas0_alert_4: atlas0-alert-4 {
> >> +				temperature = <80000>;	/* millicelsius */
> >> +				hysteresis = <1000>;	/* millicelsius */
> >> +				type = "active";
> >> +			};
> >> +			atlas0_alert_5: atlas0-alert-5 {
> >> +				temperature = <90000>;	/* millicelsius */
> >> +				hysteresis = <1000>;	/* millicelsius */
> >> +				type = "active";
> >> +			};
> >> +			atlas0_alert_6: atlas0-alert-6 {
> >> +				temperature = <95000>;	/* millicelsius */
> >> +				hysteresis = <1000>;	/* millicelsius */
> >> +				type = "active";
> >> +			};
> > 
> > No critical trip? I think it might be useful to shutdown the system in a
> > user-friendly way.
> 
> When I use the critical trip, the following event occur[1].
> But, I guess that this temperature is not correct temperature
> because after completing the kernel booting, the temperature of big.LITTLE/G3D
> are normal when checking the /sys/class/thermal/thermal_zoneX/temp right after booting.
> - Maintain a uniform temperature(38 ~ 45 millicelsius) right after kernel booting.
> 
> I guess that the critical interrupt may occur before initializing the exynos tmu.
> But, I don't spend the many time to check the exynos-tmu.c driver.
> 
> [1]
> [  445.122122] thermal thermal_zone0: critical temperature reached(108 C),shutting down
> [  445.122399] exynos-tmu 10060000.tmu: Temperature sensor ID: 0xa
> [  445.122588] exynos-tmu 10060000.tmu: Calibration type is 2-point calibration
> [  445.127942] reboot: Failed to start orderly shutdown: forcing the issue
> [  445.134586] Emergency Sync complete
> [    1.097954] reboot: Power down

I understand. Apparently the exynos-tmu driver needs some fixes for
this race. Skipping critical then makes sense.

> 
> > 
> >> +		};
> >> +
> >> +		cooling-maps {
> >> +			map0 {
> >> +				/* Set maximum frequency as 1800MHz  */
> >> +				trip = <&atlas0_alert_0>;
> >> +				cooling-device = <&cpu4 1 1>;
> > 
> > Out of curiosity: why choosing specific cooling level (so quite fast
> > the device will slow down) instead of letting cooling framework to
> > decide how much to cool? Any particular reason behind this?
> 
> This cooling level is just default value in cooling-maps.
> This value is able to overwrite on dts file. 
> 
> And the thermal subsystem support the cpu cooling features
> with 'cooling-maps'.
> 
> Also, when I tested the performance and stress test
> with GLBenchmark, the temperature of big.LITTLE cores/G3D
> reach easily the critical temperature with 8 online cores.
> So, I add the cooling level aggressively to protect
> the system fault of CPU and GPU and to maintain
> the system state.

I was asking why you do not let cooling framework decide which cooling
level to use but instead you force a specific cooling level. Maybe code
will be a better example. Why not use:
			map0 {
				/* Set maximum frequency as 1800MHz  */
				trip = <&atlas0_alert_0>;
				cooling-device = <&cpu4 0 1>;
			}
			map1 {
				/* Set maximum frequency as 1700MHz  */
				trip = <&atlas0_alert_1>;
				cooling-device = <&cpu4 1 2>;
			};

For higher frequencies it makes even more sense:
			map6 {
				/* Set maximum frequency as 800MHz  */
				trip = <&atlas0_alert_6>;
				cooling-device = <&cpu4 7 11>;
			};

which allows the system to use suitable cooling level to maintain the
balance between performance and temperature dissipance, instead of some
fixed cooling level which might not be accurate to the system load.

Best regards,
Krzysztof

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/7] arm64: dts: Add the dts file for Exynos5433 and TM/TM2E  board Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:30 +0200
  [PATCH 3/7] cpufreq: dt: Add exynos5433 compatible to use generic  cpufreq driver Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:30 +0200
    Re: [PATCH 3/7] cpufreq: dt: Add exynos5433 compatible to use generic  cpufreq driver Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-16 09:50 +0200
      Re: [PATCH 3/7] cpufreq: dt: Add exynos5433 compatible to use  generic cpufreq driver Viresh Kumar <viresh.kumar@linaro.org> - 2016-08-16 10:50 +0200
  [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:30 +0200
    Re: [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Tomasz Figa <tomasz.figa@gmail.com> - 2016-08-16 09:00 +0200
    Re: [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-16 10:50 +0200
    Re: [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Rob Herring <robh@kernel.org> - 2016-08-19 03:50 +0200
    Re: [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-19 11:10 +0200
      Re: [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Tomasz Figa <tomasz.figa@gmail.com> - 2016-08-19 13:40 +0200
        Re: [PATCH 4/7] pinctrl: samsung: Add GPFx support of Exynos5433 Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-24 15:00 +0200
  [PATCH 2/7] Documentation: bindings: Add Exynos5433 PMU compatible Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:30 +0200
    Re: [PATCH 2/7] Documentation: bindings: Add Exynos5433 PMU compatible Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-16 09:50 +0200
      Re: [PATCH 2/7] Documentation: bindings: Add Exynos5433 PMU compatible Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 10:10 +0200
        Re: [PATCH 2/7] Documentation: bindings: Add Exynos5433 PMU compatible Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-16 10:20 +0200
    Re: [PATCH 2/7] Documentation: bindings: Add Exynos5433 PMU  compatible Rob Herring <robh@kernel.org> - 2016-08-19 04:00 +0200
  [PATCH 1/7] clocksource: exynos_mct: Add the support for Exynos 64bit  SoC Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:30 +0200
  [PATCH 7/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2E  board Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:40 +0200
    Re: [PATCH 7/7] arm64: dts: exynos: Add dts file for Exynos5433-based  TM2E board Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-17 08:50 +0200
      Re: [PATCH 7/7] arm64: dts: exynos: Add dts file for Exynos5433-based  TM2E board Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-17 09:40 +0200
    Re: [PATCH 7/7] arm64: dts: exynos: Add dts file for  Exynos5433-based TM2E board Rob Herring <robh@kernel.org> - 2016-08-19 03:50 +0200
  [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based TM2  board Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 08:40 +0200
    Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based  TM2 board Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-17 09:00 +0200
      Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based  TM2 board Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-17 09:40 +0200
    Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based  TM2 board Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-19 03:10 +0200
    Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for  Exynos5433-based TM2 board Rob Herring <robh@kernel.org> - 2016-08-19 03:30 +0200
    Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based  TM2 board Sylwester Nawrocki <s.nawrocki@samsung.com> - 2016-08-19 19:20 +0200
      Re: [PATCH 6/7] arm64: dts: exynos: Add dts file for Exynos5433-based  TM2 board Chanwoo Choi <cwchoi00@gmail.com> - 2016-08-21 09:50 +0200
  Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung  Exynos5433 64bit SoC Sylwester Nawrocki <s.nawrocki@samsung.com> - 2016-08-16 13:00 +0200
    Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung  Exynos5433 64bit SoC Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-16 15:10 +0200
  Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung  Exynos5433 64bit SoC Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-08-16 20:00 +0200
    Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung  Exynos5433 64bit SoC Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-17 02:50 +0200
  Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung  Exynos5433 64bit SoC Marek Szyprowski <m.szyprowski@samsung.com> - 2016-08-19 13:00 +0200
    Re: [PATCH 5/7] arm64: dts: exynos: Add dts files for Samsung  Exynos5433 64bit SoC Chanwoo Choi <cw00.choi@samsung.com> - 2016-08-23 05:00 +0200

csiph-web