public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] scheduler-based cpu frequency scaling
@ 2015-05-04 22:10 Michael Turquette
  2015-05-04 22:10 ` [PATCH 1/4] arm: Frequency invariant scheduler load-tracking support Michael Turquette
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Michael Turquette @ 2015-05-04 22:10 UTC (permalink / raw)
  To: peterz, mingo
  Cc: linux-kernel, preeti, Morten.Rasmussen, riel, efault,
	nicolas.pitre, inaro-kernel, daniel.lezcano, patches, eas-dev,
	dietmar.eggemann, vincent.guittot, amit.kucheria, juri.lelli, rjw,
	viresh.kumar, ashwin.chaugule, alex.shi, Michael Turquette

This series implements an event-driven cpufreq governor that scales cpu
frequency as a function of cfs runqueue utilization. The intent of this RFC is
to get some discussion going about how the scheduler can become the policy
engine for selecting cpu frequency, what limitations exist and what design do
we want to take to get to a solution.

This work is a different take on the patches I posted in November:
http://lkml.kernel.org/r/<1413958051-7103-1-git-send-email-mturquette@linaro.org>

This series depends on having frequency-invariant representations for load.
This requires Vincent's recently merged cpu capacity rework patches, as well as
a new patch from Morten included here. Morten's patch will likely make an
appearance in his energy aware scheduling v4 series.

Thanks to Juri Lelli <juri.lelli@arm.com> for contributing to the development
of the governor.

A git branch with these patches can be pulled from here:
https://git.linaro.org/people/mike.turquette/linux.git sched-freq

Smoke testing has been done on an OMAP4 Pandaboard and an Exynos 5800
Chromebook2. Extensive benchmarking and regression testing has not yet been
done. Before sinking too much time into extensive testing I'd like to get
feedback on the general design.

Michael Turquette (3):
  sched: sched feature for cpu frequency selection
  sched: export get_cpu_usage & capacity_orig_of
  sched: cpufreq_sched_cfs: PELT-based cpu frequency scaling

Morten Rasmussen (1):
  arm: Frequency invariant scheduler load-tracking support

 arch/arm/include/asm/topology.h |   7 +
 arch/arm/kernel/smp.c           |  53 ++++++-
 arch/arm/kernel/topology.c      |  17 +++
 drivers/cpufreq/Kconfig         |  24 ++++
 include/linux/cpufreq.h         |   3 +
 kernel/sched/Makefile           |   1 +
 kernel/sched/cpufreq_cfs.c      | 311 ++++++++++++++++++++++++++++++++++++++++
 kernel/sched/fair.c             |  48 +++----
 kernel/sched/features.h         |   6 +
 kernel/sched/sched.h            |  39 +++++
 10 files changed, 475 insertions(+), 34 deletions(-)
 create mode 100644 kernel/sched/cpufreq_cfs.c

-- 
1.9.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2015-05-07 14:25 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-04 22:10 [PATCH 0/4] scheduler-based cpu frequency scaling Michael Turquette
2015-05-04 22:10 ` [PATCH 1/4] arm: Frequency invariant scheduler load-tracking support Michael Turquette
2015-05-04 22:10 ` [PATCH 2/4] sched: sched feature for cpu frequency selection Michael Turquette
2015-05-04 22:10 ` [PATCH 3/4] sched: export get_cpu_usage & capacity_orig_of Michael Turquette
2015-05-04 22:10 ` [PATCH 4/4] sched: cpufreq_cfs: pelt-based cpu frequency scaling Michael Turquette
2015-05-05  9:00   ` Peter Zijlstra
2015-05-05 12:16     ` Juri Lelli
     [not found]     ` <20150505182347.16410.16338@quantum>
2015-05-06 12:22       ` Peter Zijlstra
     [not found]         ` <20150507041725.16410.58417@quantum>
2015-05-07  6:23           ` Peter Zijlstra
2015-05-07 10:49           ` Juri Lelli
2015-05-07 14:25             ` Michael Turquette
2015-05-05  9:01   ` Peter Zijlstra
2015-05-05  9:04   ` Peter Zijlstra
2015-05-04 23:27 ` [PATCH 0/4] scheduler-based " Rafael J. Wysocki
2015-05-05 18:28   ` Mike Turquette
2015-05-06 16:50 ` [PATCH] sched/core: Add empty 'gov_cfs_update_cpu' function definition for NON-SMP systems Abel Vesa
2015-05-07  4:18   ` Michael Turquette

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox