Hi Quentin and EAS team,
As we discussed offline with Quentin my issues with EAS (a bit old version)
and tasks migration, here is the patch set that I have with some fixes.
The version that I have been working on is:
- kernel: 4.14.24 with some driver fixes for Exynos SoC
(it was close to eas/next/integration_base_20171211_0913)
- EAS: eas/next/integration_20171211_0913
http://linux-arm.org/git?p=linux-power.git;a=shortlog;h=refs/heads/eas/next…
This patch set tries to solve:
- issue with one little core not used in 1st phase,
- issues with not used LITTLE cores in the second phase,
The test script uses sysbench in 2 phases. First it starts two task sets:
4 tasks on big cores and 4 will be on little. The big tasks finish earlier
and little should be migrated there. Then there is the second phase. The set
of 4 new tasks is started and should be placed on little cores.
------------8<-------------------
REQUESTS=20000
BIGS="4 5 6 7"
LITTLES="0 1 2 3"
PATH="$PATH:/root/devlib-target/bin"
# Don't care about the score for those, just keep the bigs busy
for i in $BIGS; do
taskset -c $i sysbench --max-requests=$((REQUESTS / 4)) \
--test=cpu run &>/dev/null &
done
for i in $LITTLES; do
$(sleep 25 && sysbench --max-requests=$((REQUESTS / 8)) --test=cpu run &>/dev/null &) &
done
for i in $LITTLES; do
sysbench --max-requests=$REQUESTS --test=cpu run \
| grep "total time:" &
done
wait
----------->8--------------------
It is a bit old EAS but maybe you can find something useful in this fixes
or test scenario.
Regards,
Lukasz Luba
Lukasz Luba (5):
arm64: exynos: Add support of exynos5433 to EAS with energy model v1
trace: sched: add new trace events for tracking migrations
sched/fair: drop aggressive migration
sched/fair: change migration destination based on CPU utilization
sched/fair: change finding idle group
arch/arm64/boot/dts/exynos/exynos5433.dtsi | 8 ++
arch/arm64/kernel/energy_model.h | 119 +++++++++++++++++++
include/trace/events/sched.h | 130 +++++++++++++++++++++
kernel/sched/fair.c | 112 +++++++++++++++---
4 files changed, 351 insertions(+), 18 deletions(-)
--
2.17.1