lkml.org 
[lkml]   [2021]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v3 0/2] sched/fair: find_energy_efficient_cpu() enhancements
From
Date
Hi Xuewen,

Please let me know if you have some comments,
Pierre

On 5/4/21 10:07 AM, Pierre Gondois wrote:
> V2:
> - Split the patch in 2. [Quentin]
> - Add testing results to the cover-letter. [Dietmar]
> - Put back 'rcu_read_unlock()' to unlock the rcu
> earlier. [Dietmar]
> - Various comments. [Dietmar/Quentin]
>
> V3:
> - Layout/phrasing. [Dietmar]
>
> This patchset prevents underflows in find_energy_efficient_cpu().
> This is done in the second patch:
> sched/fair: Fix negative energy delta in find_energy_efficient_cpu()
>
> The first patch:
> sched/fair: Only compute base_energy_pd if necessary
> prevents an unnecessary call to compute_energy() if no CPU is available
> in a performance domain (pd).
> When looping over the pds, it also allows to gather the calls
> to compute_energy(), reducing the chances of having utilization signals
> being concurrently updated and having a 'negative delta'.
>
> The energy tests of the initial EAS enablement at:
> https://lkml.kernel.org/r/20181203095628.11858-1-quentin.perret@arm.com
> have been executed using LISA on a Juno-r2 (2xA57 + 4xA53).
>
> To recall the test:
> "10 iterations of between 10 and 50 periodic rt-app tasks (16ms period,
> 5% duty-cycle) for 30 seconds with energy measurement. Unit is Joules.
> The goal is to save energy, so lower is better."
> "Energy is measured with the onboard energy meter. Numbers include
> consumption of big and little CPUs."
>
> +----------+-----------------+-------------------------+
> | | Without patches | With patches |
> +----------+--------+--------+------------------+------+
> | Tasks nb | Mean | CI* | Mean | CI* |
> +----------+--------+--------+------------------+------+
> | 10 | 6.57 | 0.24 | 6.46 (-1.63%) | 0.27 |
> | 20 | 12.44 | 0.21 | 12.44 (-0.01%) | 0.14 |
> | 30 | 19.10 | 0.78 | 18.75 (-1.85%) | 0.15 |
> | 40 | 27.27 | 0.53 | 27.35 (+0.31%) | 0.33 |
> | 50 | 36.55 | 0.42 | 36.28 (-0.74%) | 0.42 |
> +----------+-----------------+-------------------------+
> CI: confidence interval
>
> For each line, the intervals of values w/ w/o the patches are
> overlapping (consider Mean +/- CI). Thus, the energy results shouldn't
> have been impacted.
>
> Pierre Gondois (2):
> sched/fair: Only compute base_energy_pd if necessary
> sched/fair: Fix negative energy delta in find_energy_efficient_cpu()
>
> kernel/sched/fair.c | 68 ++++++++++++++++++++++++++-------------------
> 1 file changed, 39 insertions(+), 29 deletions(-)
>

\
 
 \ /
  Last update: 2021-05-04 11:11    [W:0.086 / U:0.296 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site