Hi Mike,
On 10/03/15 00:34, Mike Turquette wrote:
Quoting Juri Lelli (2015-03-09 07:06:14)
Hi all,
as agreed with Mike, I'm posting here his sched-dvfs patchset [1] plus my EAS bindings to make it use the energy model. This is meant to re-start discussion on the attempt to drive dvfs directly from the scheduler.
This patchset is based on 4.0-rc2 + EASv3 [2].
Mike is already working on a slightly different, more "reactive", approach. The way we can use EAS infrastructure shouldn't change much anyway, so this works also as a first example of such thing. The core of my little delta resides in the possibility to read the energy tables to get freq and uarch invariance in the new governor (4/6) and the use of get_cpu_usage() to get the utilization signal from the scheduler (that I squashed in 02/06 together with some little fixes).
Thanks for sharing Juri. Can you push this to your ARM tree? I was able to fetch it today but this branch wasn't around. I've started to do the rebase myself with:
git rebase --onto v4.0-rc3 v3.18 arm/wip/ea_v3_dvfs
Unfortunately I'm getting lots of little merge conflicts. Nothing too scary yet but it would save me a lot of time to just fetch your branch.
Yeah, I know, easv3 has small conflicts on 4.0-rc3. We are fixing this sharing thing. I hope to get back to you soon with a reliable way to do it (next week I guess).
Thanks,
- Juri
Thanks! Mike
Best,
- Juri
[1] https://lkml.org/lkml/2014/10/22/21 [2] https://lkml.org/lkml/2015/2/4/537
Juri Lelli (3): sched/energy_model: use EAS energy model sched/energy_model: bound kthreads to run on related_cpus sched/energy_model: fix spurious kicks
Michael Turquette (1): sched: cfs: cpu frequency scaling based on task placement
Mike Turquette (2): cpufreq: add per-governor private data sched: energy_model: simple cpu frequency scaling policy
drivers/cpufreq/Kconfig | 21 +++ include/linux/cpufreq.h | 6 + kernel/sched/Makefile | 1 + kernel/sched/energy_model.c | 364 ++++++++++++++++++++++++++++++++++++++++++++ kernel/sched/fair.c | 51 ++++++- kernel/sched/sched.h | 5 + 6 files changed, 441 insertions(+), 7 deletions(-) create mode 100644 kernel/sched/energy_model.c
-- 2.2.2