Skip to content

Commit

Permalink
arm64: rk3399: Add capacity-dmips-mhz attributes
Browse files Browse the repository at this point in the history
The RK3399 has the interesting property to be a so called "big-little"
system, where not all the CPUs are equal (the A53s are much weaker
than the A72s).

So far, we're not telling the OS that there is such a difference in
processing capacity, and Linux assumes that they are equal. Too bad.

Let's tell the OS about this by using the capacity-dmips-mhz
property. The values used here are those used on the Juno platform,
which is quite similar. This leads to the scheduler knowing that
it can pack more tasks on the A72s, and leads to a better interactive
experience.

Tested-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
  • Loading branch information
Marc Zyngier authored and ayufan committed Mar 7, 2019
1 parent 109aeeb commit 1306e7c
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions arch/arm64/boot/dts/rockchip/rk3399.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@
#cooling-cells = <2>; /* min followed by max */
dynamic-power-coefficient = <100>;
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
capacity-dmips-mhz = <485>;
};

cpu_l1: cpu@1 {
Expand All @@ -86,6 +87,7 @@
#cooling-cells = <2>; /* min followed by max */
dynamic-power-coefficient = <100>;
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
capacity-dmips-mhz = <485>;
};

cpu_l2: cpu@2 {
Expand All @@ -97,6 +99,7 @@
#cooling-cells = <2>; /* min followed by max */
dynamic-power-coefficient = <100>;
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
capacity-dmips-mhz = <485>;
};

cpu_l3: cpu@3 {
Expand All @@ -108,6 +111,7 @@
#cooling-cells = <2>; /* min followed by max */
dynamic-power-coefficient = <100>;
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
capacity-dmips-mhz = <485>;
};

cpu_b0: cpu@100 {
Expand All @@ -119,6 +123,7 @@
#cooling-cells = <2>; /* min followed by max */
dynamic-power-coefficient = <436>;
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
capacity-dmips-mhz = <1024>;
};

cpu_b1: cpu@101 {
Expand All @@ -130,6 +135,7 @@
#cooling-cells = <2>; /* min followed by max */
dynamic-power-coefficient = <436>;
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
capacity-dmips-mhz = <1024>;
};

idle-states {
Expand Down

0 comments on commit 1306e7c

Please sign in to comment.