Messages in this thread | | | From | Qais Yousef <> | Subject | [PATCH 0/3] sched/fair: Remove hardcoded fits_capacity() margin | Date | Mon, 5 Feb 2024 22:33:41 +0000 |
| |
This series is split from [1]. I thought it might be simpler to split the series and address the intertwined problems separately as some of them are easier to deal with than others.
This series focuses on migration margin only, or the check in fits_capacity().
I realized that I had a bug where I am not taking invariance into account. This addressed now. Commit message in patch 3 has all the details. Patches 1 and 2 add helper functions to convert between time and util.
I have issues with my test setup so didn't collect proper power/perf numbers like I did in [1]. I didn't see any bad power impact from preliminary tests. Perf numbers are definitely better.
I hope to get some feedback to ensure there are no howlers and I'll collect more data for the next posting.
Generally I think this is a step in the right directions and, as I find out as I fix more problems, there are a lot of areas that needs to be revisited and improved but it's hard to fix them all in one go. Particularly the definition of overutilized and improving our energy calculation in feec() and balancing work at wake up and load balancer.
[1] https://lore.kernel.org/lkml/20231208002342.367117-1-qyousef@layalina.io/
Cheers
-- Qais Yousef
Qais Yousef (3): sched/pelt: Add a new function to approximate the future util_avg value sched/pelt: Add a new function to approximate runtime to reach given util sched/fair: Remove magic hardcoded margin in fits_capacity()
kernel/sched/core.c | 1 + kernel/sched/fair.c | 42 +++++++++++++++++++++++++++++++++++------- kernel/sched/pelt.c | 43 ++++++++++++++++++++++++++++++++++++++++++- kernel/sched/sched.h | 3 +++ 4 files changed, 81 insertions(+), 8 deletions(-)
-- 2.34.1
| |