Re: [RESEND PATCH v2 0/2] Enable Odroid-XU3/4 to use Energy Model and Energy Aware Scheduler

From: Krzysztof Kozlowski
Date: Thu Feb 20 2020 - 13:00:51 EST


On Thu, Feb 20, 2020 at 09:56:34AM +0000, Lukasz Luba wrote:
> Hi all,
>
> This is just a resend, now with proper v2 in the patches subject.
>
> The Odroid-XU4/3 is a decent and easy accessible ARM big.LITTLE platform,
> which might be used for research and development.
>
> This small patch set provides possibility to run Energy Aware Scheduler (EAS)
> on Odroid-XU4/3 and experiment with it.
>
> The patch 1/2 provides 'dynamic-power-coefficient' in CPU DT nodes, which is
> then used by the Energy Model (EM).
> The patch 2/2 enables SCHED_MC (which adds another level in scheduling domains)
> and enables EM making EAS possible to run (when schedutil is set as a CPUFreq
> governor).
>
> 1. Test results
>
> Two types of different tests have been executed. The first is energy test
> case showing impact on energy consumption of this patch set. It is using a
> synthetic set of tasks (rt-app based). The second is the performance test
> case which is using hackbench (less time to complete is better).
> In both tests schedutil has been used as cpufreq governor. In all tests
> PROVE_LOCKING has not been compiled into the kernels.
>
> 1.1 Energy test case
>
> 10 iterations of 24 periodic rt-app tasks (16ms period, 10% duty-cycle)
> with energy measurement. The cpufreq governor - schedutil. Unit is Joules.
> The energy is calculated based on hwmon0 and hwmon3 power1_input.
> The goal is to save energy, lower is better.
>
> +-----------+-----------------+------------------------+
> | | Without patches | With patches |
> +-----------+--------+--------+----------------+-------+
> | benchmark | Mean | RSD* | Mean | RSD* |
> +-----------+--------+--------+----------------+-------+
> | 24 rt-app | 21.56 | 1.37% | 19.85 (-9.2%) | 0.92% |
> | tasks | | | | |
> +-----------+--------+--------+----------------+-------+
>
> 1.2 Performance test case
>
> 10 consecutive iterations of hackbench (hackbench -l 500 -s 4096),
> no delay between two successive executions.
> The cpufreq governor - schedutil. Units in seconds.
> The goal is to see not regression, lower completion time is better.
>
> +-----------+-----------------+------------------------+
> | | Without patches | With patches |
> +-----------+--------+--------+----------------+-------+
> | benchmark | Mean | RSD* | Mean | RSD* |
> +-----------+--------+--------+----------------+-------+
> | hackbench | 8.15 | 2.86% | 7.95 (-2.5%) | 0.60% |
> +-----------+--------+--------+----------------+-------+
>
> *RSD: Relative Standard Deviation (std dev / mean)

Nice measurements!

Applied both, thank you.

Best regards,
Krzysztof