diff mbox series

[1/2] ARM: dts: exynos: Add dynamic-power-coefficient to Exynos5422 CPUs

Message ID 20200219095828.8063-2-lukasz.luba@arm.com (mailing list archive)
State Superseded
Headers show
Series Enable Odroid-XU3/4 to use Energy Model and Energy Aware Scheduler | expand

Commit Message

Lukasz Luba Feb. 19, 2020, 9:58 a.m. UTC
From: Lukasz Luba <lukasz.luba@arm.com>

To use Energy Aware Scheduler (EAS) the Energy Model (EM) should be
registered for CPUs. Add dynamic-power-coefficient into CPU nodes which
let CPUFreq subsystem register the EM structures. This will increase
energy efficiency of big.LITTLE platforms.

The 'dynamic-power-coefficient' values have been obtained experimenting
with different workloads. The power measurements taken from big CPU
Cluster and LITTLE CPU Cluster has been compared with official documents
and synthetic workloads estimations. The effective power ratio between
Cortex-A7 and Cortex-A15 CPUs (~3x) is also aligned with documentation.

Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
---
 arch/arm/boot/dts/exynos5422-cpus.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Lukasz Luba Feb. 19, 2020, 11:23 a.m. UTC | #1
My apologizes for the mistake in the subject. It should be
"PATCH v2 1/2" (mistake in script arguments while sending).
The same applies to the second patch, should be  "PATCH v2 2/2".

Regards,
Lukasz

On 2/19/20 9:58 AM, lukasz.luba@arm.com wrote:
> From: Lukasz Luba <lukasz.luba@arm.com>
> 
> To use Energy Aware Scheduler (EAS) the Energy Model (EM) should be
> registered for CPUs. Add dynamic-power-coefficient into CPU nodes which
> let CPUFreq subsystem register the EM structures. This will increase
> energy efficiency of big.LITTLE platforms.
> 
> The 'dynamic-power-coefficient' values have been obtained experimenting
> with different workloads. The power measurements taken from big CPU
> Cluster and LITTLE CPU Cluster has been compared with official documents
> and synthetic workloads estimations. The effective power ratio between
> Cortex-A7 and Cortex-A15 CPUs (~3x) is also aligned with documentation.
> 
> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
> ---
>   arch/arm/boot/dts/exynos5422-cpus.dtsi | 8 ++++++++
>   1 file changed, 8 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/exynos5422-cpus.dtsi b/arch/arm/boot/dts/exynos5422-cpus.dtsi
> index 1b8605cf2407..4b641b9b8179 100644
> --- a/arch/arm/boot/dts/exynos5422-cpus.dtsi
> +++ b/arch/arm/boot/dts/exynos5422-cpus.dtsi
> @@ -31,6 +31,7 @@
>   			operating-points-v2 = <&cluster_a7_opp_table>;
>   			#cooling-cells = <2>; /* min followed by max */
>   			capacity-dmips-mhz = <539>;
> +			dynamic-power-coefficient = <90>;
>   		};
>   
>   		cpu1: cpu@101 {
> @@ -43,6 +44,7 @@
>   			operating-points-v2 = <&cluster_a7_opp_table>;
>   			#cooling-cells = <2>; /* min followed by max */
>   			capacity-dmips-mhz = <539>;
> +			dynamic-power-coefficient = <90>;
>   		};
>   
>   		cpu2: cpu@102 {
> @@ -55,6 +57,7 @@
>   			operating-points-v2 = <&cluster_a7_opp_table>;
>   			#cooling-cells = <2>; /* min followed by max */
>   			capacity-dmips-mhz = <539>;
> +			dynamic-power-coefficient = <90>;
>   		};
>   
>   		cpu3: cpu@103 {
> @@ -67,6 +70,7 @@
>   			operating-points-v2 = <&cluster_a7_opp_table>;
>   			#cooling-cells = <2>; /* min followed by max */
>   			capacity-dmips-mhz = <539>;
> +			dynamic-power-coefficient = <90>;
>   		};
>   
>   		cpu4: cpu@0 {
> @@ -79,6 +83,7 @@
>   			operating-points-v2 = <&cluster_a15_opp_table>;
>   			#cooling-cells = <2>; /* min followed by max */
>   			capacity-dmips-mhz = <1024>;
> +			dynamic-power-coefficient = <310>;
>   		};
>   
>   		cpu5: cpu@1 {
> @@ -91,6 +96,7 @@
>   			operating-points-v2 = <&cluster_a15_opp_table>;
>   			#cooling-cells = <2>; /* min followed by max */
>   			capacity-dmips-mhz = <1024>;
> +			dynamic-power-coefficient = <310>;
>   		};
>   
>   		cpu6: cpu@2 {
> @@ -103,6 +109,7 @@
>   			operating-points-v2 = <&cluster_a15_opp_table>;
>   			#cooling-cells = <2>; /* min followed by max */
>   			capacity-dmips-mhz = <1024>;
> +			dynamic-power-coefficient = <310>;
>   		};
>   
>   		cpu7: cpu@3 {
> @@ -115,6 +122,7 @@
>   			operating-points-v2 = <&cluster_a15_opp_table>;
>   			#cooling-cells = <2>; /* min followed by max */
>   			capacity-dmips-mhz = <1024>;
> +			dynamic-power-coefficient = <310>;
>   		};
>   	};
>   };
>
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/exynos5422-cpus.dtsi b/arch/arm/boot/dts/exynos5422-cpus.dtsi
index 1b8605cf2407..4b641b9b8179 100644
--- a/arch/arm/boot/dts/exynos5422-cpus.dtsi
+++ b/arch/arm/boot/dts/exynos5422-cpus.dtsi
@@ -31,6 +31,7 @@ 
 			operating-points-v2 = <&cluster_a7_opp_table>;
 			#cooling-cells = <2>; /* min followed by max */
 			capacity-dmips-mhz = <539>;
+			dynamic-power-coefficient = <90>;
 		};
 
 		cpu1: cpu@101 {
@@ -43,6 +44,7 @@ 
 			operating-points-v2 = <&cluster_a7_opp_table>;
 			#cooling-cells = <2>; /* min followed by max */
 			capacity-dmips-mhz = <539>;
+			dynamic-power-coefficient = <90>;
 		};
 
 		cpu2: cpu@102 {
@@ -55,6 +57,7 @@ 
 			operating-points-v2 = <&cluster_a7_opp_table>;
 			#cooling-cells = <2>; /* min followed by max */
 			capacity-dmips-mhz = <539>;
+			dynamic-power-coefficient = <90>;
 		};
 
 		cpu3: cpu@103 {
@@ -67,6 +70,7 @@ 
 			operating-points-v2 = <&cluster_a7_opp_table>;
 			#cooling-cells = <2>; /* min followed by max */
 			capacity-dmips-mhz = <539>;
+			dynamic-power-coefficient = <90>;
 		};
 
 		cpu4: cpu@0 {
@@ -79,6 +83,7 @@ 
 			operating-points-v2 = <&cluster_a15_opp_table>;
 			#cooling-cells = <2>; /* min followed by max */
 			capacity-dmips-mhz = <1024>;
+			dynamic-power-coefficient = <310>;
 		};
 
 		cpu5: cpu@1 {
@@ -91,6 +96,7 @@ 
 			operating-points-v2 = <&cluster_a15_opp_table>;
 			#cooling-cells = <2>; /* min followed by max */
 			capacity-dmips-mhz = <1024>;
+			dynamic-power-coefficient = <310>;
 		};
 
 		cpu6: cpu@2 {
@@ -103,6 +109,7 @@ 
 			operating-points-v2 = <&cluster_a15_opp_table>;
 			#cooling-cells = <2>; /* min followed by max */
 			capacity-dmips-mhz = <1024>;
+			dynamic-power-coefficient = <310>;
 		};
 
 		cpu7: cpu@3 {
@@ -115,6 +122,7 @@ 
 			operating-points-v2 = <&cluster_a15_opp_table>;
 			#cooling-cells = <2>; /* min followed by max */
 			capacity-dmips-mhz = <1024>;
+			dynamic-power-coefficient = <310>;
 		};
 	};
 };