From: Lukasz Luba <lukasz.luba@arm.com>
To: linux-kernel@vger.kernel.org, kgene@kernel.org, krzk@kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org,
linux-pm@vger.kernel.org
Cc: myungjoo.ham@samsung.com, kyungmin.park@samsung.com,
cw00.choi@samsung.com, robh+dt@kernel.org, mark.rutland@arm.com,
b.zolnierkie@samsung.com, lukasz.luba@arm.com,
dietmar.eggemann@arm.com
Subject: [RESEND PATCH v2 0/2] Enable Odroid-XU3/4 to use Energy Model and Energy Aware Scheduler
Date: Thu, 20 Feb 2020 09:56:34 +0000 [thread overview]
Message-ID: <20200220095636.29469-1-lukasz.luba@arm.com> (raw)
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)
Changes:
v2:
- changed dynamic power coeffcient to 90 for A7, which prevents odd
behaviour for some low utilisation and at low OPPs;
now, the power ratio is ~3x between big an LITTLE core;
it's better aligned with [1]; probably due to measurement noise
at lower OPPs the values obtained from hwmon0|3 were different
from reality; some synthetic workloads showed this differences
- cleaned commit messages (no measurements in commit message)
- merged configs into one patch and re-ordered patches
- provided energy measurmements in the cover letter
- measurements focused on comparing similar setup - with schedutil governor,
to compare apples with apples
The v1 can be found in [2].
The patch set is on top of Krzysztof's tree, branch 'next/dt' [3] and has
been tested on Odroid-XU3 rev0.2 20140529.
Regards,
Lukasz Luba
[1] https://www.cl.cam.ac.uk/~rdm34/big.LITTLE.pdf
[2] https://lore.kernel.org/linux-arm-kernel/20200127215453.15144-1-lukasz.luba@arm.com/T/
[3] https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git/log/?h=next/dt
Lukasz Luba (2):
ARM: dts: exynos: Add dynamic-power-coefficient to Exynos5422 CPUs
ARM: exynos_defconfig: Enable SCHED_MC and ENERGY_MODEL
arch/arm/boot/dts/exynos5422-cpus.dtsi | 8 ++++++++
arch/arm/configs/exynos_defconfig | 2 ++
2 files changed, 10 insertions(+)
--
2.17.1
next reply other threads:[~2020-02-20 9:56 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-20 9:56 Lukasz Luba [this message]
2020-02-20 9:56 ` [RESEND PATCH v2 1/2] ARM: dts: exynos: Add dynamic-power-coefficient to Exynos5422 CPUs Lukasz Luba
2020-02-20 9:56 ` [RESEND PATCH v2 2/2] ARM: exynos_defconfig: Enable SCHED_MC and ENERGY_MODEL Lukasz Luba
2020-02-20 18:00 ` [RESEND PATCH v2 0/2] Enable Odroid-XU3/4 to use Energy Model and Energy Aware Scheduler Krzysztof Kozlowski
2020-02-21 10:32 ` Lukasz Luba
2020-02-28 10:59 ` Marek Szyprowski
2020-02-28 12:00 ` Lukasz Luba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200220095636.29469-1-lukasz.luba@arm.com \
--to=lukasz.luba@arm.com \
--cc=b.zolnierkie@samsung.com \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=dietmar.eggemann@arm.com \
--cc=kgene@kernel.org \
--cc=krzk@kernel.org \
--cc=kyungmin.park@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=myungjoo.ham@samsung.com \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).