Skip to content
Commit 487e1ac4 authored by Pierre Gondois's avatar Pierre Gondois Committed by Douglas Raillard
Browse files

lisa.tests.scheduler.eas_behaviour: Add big-task-duty-cycle platform parameter



On a rb5, the first OPPs of the little CPUs are less energy
efficient than the first OPPs of the big CPUs:
little CPUs:
freq=300000  power=28864  capa=59  power/capa=489.22
freq=403200  power=38774  capa=79  power/capa=490.81
freq=480000  power=46183  capa=95  power/capa=486.13
freq=576000  power=55419  capa=114 power/capa=486.13
freq=652800  power=62732  capa=129 power/capa=486.29
freq=748800  power=71968  capa=148 power/capa=486.27
freq=825600  power=82719  capa=163 power/capa=507.47 <- [3]
freq=902400  power=94168  capa=178 power/capa=529.03
freq=979200  power=113400 capa=194 power/capa=584.53
freq=1056000 power=114700 capa=209 power/capa=548.80
freq=1132800 power=126190 capa=224 power/capa=563.34
[...]
BIG CPUs:
freq=825600 power=133030  capa=301 power/capa=441.96
freq=902400 power=151283  capa=329 power/capa=459.82
freq=979200 power=168490  capa=357 power/capa=471.96 <- [1]
freq=1056000 power=188799 capa=385 power/capa=490.38 <- [2]
freq=1209600 power=224387 capa=441 power/capa=508.81
freq=1286400 power=244608 capa=469 power/capa=521.55
freq=1363200 power=275303 capa=497 power/capa=553.92
freq=1459200 power=305249 capa=533 power/capa=572.69
freq=1536000 power=340314 capa=561 power/capa=606.62
freq=1612800 power=381776 capa=589 power/capa=648.17
[...]

When running the TwoBigThreeSmall test, the big task has a
utilization such as the task cannot fit on the little CPUs.
util~=290 so that 290 * 1.2 = 348. The capacity of the little CPUs
is 350. The small task will run at ~50% of the maximum capacity of
the little CPUs, so util~=174.
The big CPUs will run at the OPP [1], which is more energy efficient
than all the little CPUs' OPPs. Now if the big CPU utilization jumps
to [2], the little CPUs' OPPs below [3] become more energy efficient.

Thus, it appears that for the rb5, the utilization chosen for the
big tasks makes the big CPUs either attractive or repulsive for the
small tasks, and this for a range of 20 util. This makes the
TwoBigThreeSmall test for rb5 unstable.

Add a platform specific 'big-task-duty-cycle' parameter to handle
this specific test case. This parameter allows to choose a higher
utilization for the big tasks, making the big CPUs less attractive
for small tasks.

Suggested-by: Douglas Raillard's avatarDouglas Raillard <douglas.raillard@arm.com>
Signed-off-by: Pierre Gondois's avatarPierre Gondois <pierre.gondois@arm.com>
parent 0763d939
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment