[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d06dbab5-60cf-a558-0ded-2d224aca89fd@arm.com>
Date: Tue, 4 May 2021 10:10:45 +0100
From: Pierre Gondois <pierre.gondois@....com>
To: linux-kernel@...r.kernel.org, xuewen.yan@...soc.com,
qperret@...rret.net, Lukasz.Luba@....com, dietmar.eggemann@....com
Cc: Vincent.Donnefort@....com, mingo@...hat.com, peterz@...radead.org,
juri.lelli@...hat.com, vincent.guittot@...aro.org,
rostedt@...dmis.org, bsegall@...gle.com, mgorman@...e.de,
bristot@...hat.com
Subject: Re: [PATCH v3 0/2] sched/fair: find_energy_efficient_cpu()
enhancements
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(-)
>
Powered by blists - more mailing lists