Messages in this thread | | | From | Patrick Bellasi <> | Subject | [PATCH v4 0/3] Utilization estimation (util_est) for FAIR tasks | Date | Tue, 6 Feb 2018 14:41:28 +0000 |
| |
Hi,
This is a respin of [1], still based on today's tip/sche/core [2], which includes Juri's series [3] to integrate SCHED_DEADLINE into schedutil.
Thanks to everyone who provided feedback, all of them have been addressed.
Testing on Intel and ARM (Android) devices confirms the negligible overheads and the power/performance benefits reported in the previous posting [1].
Changes in v4: - rebased on today's tip/sched/core (commit 460e8c3340a2) - renamed util_est's "last" into "enqueued" - using util_est's "enqueued" for both se and cfs_rqs (Joel) - update margin check to use more ASM friendly code (Peter) - optimize EWMA updates (Peter) - ensure cpu_util_wake() is cpu_capacity_orig()'s clamped (Pavan) - simplify cpu_util_cfs() integration (Dietmar)
Changes in v3: - rebased on today's tip/sched/core (commit 07881166a892) - moved util_est into sched_avg (Peter) - use {READ,WRITE}_ONCE() for EWMA updates (Peter) - using unsigned int to fit all sched_avg into a single 64B cache line - schedutil integration using Juri's cpu_util_cfs() - first patch dropped since it's already queued in tip/sched/core
Changes in v2: - rebased on top of v4.15-rc2 - tested that overhauled PELT code does not affect the util_est
Cheers Patrick
.:: References ============== [1] https://lkml.org/lkml/2018/1/23/645 20180123180847.4477-1-patrick.bellasi@arm.com [2] git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core (commit 460e8c3340a2) [3] https://lkml.org/lkml/2017/12/4/173 20171204102325.5110-1-juri.lelli@redhat.com
Patrick Bellasi (3): sched/fair: add util_est on top of PELT sched/fair: use util_est in LB and WU paths sched/cpufreq_schedutil: use util_est for OPP selection
include/linux/sched.h | 16 +++++ kernel/sched/debug.c | 4 ++ kernel/sched/fair.c | 179 ++++++++++++++++++++++++++++++++++++++++++++++-- kernel/sched/features.h | 5 ++ kernel/sched/sched.h | 7 +- 5 files changed, 204 insertions(+), 7 deletions(-)
-- 2.15.1
| |