All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 0/7] scheduler-driven cpu frequency scaling
@ 2014-10-22  6:07 Mike Turquette
  2014-10-22  6:07 ` [PATCH RFC 1/7] sched: Make energy awareness a sched feature Mike Turquette
                   ` (6 more replies)
  0 siblings, 7 replies; 21+ messages in thread
From: Mike Turquette @ 2014-10-22  6:07 UTC (permalink / raw)
  To: peterz, mingo
  Cc: linux-kernel, preeti, Morten.Rasmussen, kamalesh, riel, efault,
	nicolas.pitre, linaro-kernel, daniel.lezcano, dietmar.eggemann,
	pjt, bsegall, vincent.guittot, patches, tuukka.tikkanen,
	amit.kucheria, Mike Turquette

This series demonstrates cpu frequency scaling via a simple policy
driven by the scheduler. Specifically the policy evaluates cpu frequency
when cpu utilization is updated from enqueue_task_fair and
dequeue_task_fair. The policy itself uses a simple up/down threshold
scheme using the same 80%/20% cpu utilization boundaries that are used
by default in the ondemand cpufreq governor.

This series is not intended for merging, but instead to ignite some
discussion around scheduler-driven cpu frequency selection. Of
particular interest to me is the policy itself and how it might
integrate with task placement in CFS's load_balance. Additionally I'd
like to ask the scheduler experts about which call sites in CFS are
right for evaluating cpu frequency selection; maybe
{en,de}queue_task_fair are not such a good idea?

The messiest part of this series is the cpumask stuff, where I tried to
track which cpus have updated statistics in the case of a sched_entity
which contains several other sched_entities that are spread across cpus.
As discussed at Linux Plumbers Conference 2014, I will replace this
complexity with simpler logic that ignores scheduler cgroups in the next
version. In any case I am posting the code I have now.

This code is experiemental and bugs are Guaranteed.

These patches are based on the scale invariance series from Morten[0].
The variables names in this RFC will doubtless change once that work is
rebased onto Vincent's series[1].

[0] http://lkml.kernel.org/r/<1411403047-32010-1-git-send-email-morten.rasmussen@arm.com>
[1] http://lkml.kernel.org/r/<1412684017-16595-1-git-send-email-vincent.guittot@linaro.org>

Mike Turquette (6):
  sched: cfs: declare capacity_of in sched.h
  sched: fair: add usage_util_of helper
  cpufreq: add per-governor private data
  sched: cfs: cpu frequency scaling arch functions
  sched: cfs: cpu frequency scaling based on task placement
  sched: energy_model: simple cpu frequency scaling policy

Morten Rasmussen (1):
  sched: Make energy awareness a sched feature

 drivers/cpufreq/Kconfig     |  21 +++
 include/linux/cpufreq.h     |   6 +
 kernel/sched/Makefile       |   1 +
 kernel/sched/energy_model.c | 341 ++++++++++++++++++++++++++++++++++++++++++++
 kernel/sched/fair.c         |  69 ++++++++-
 kernel/sched/features.h     |   6 +
 kernel/sched/sched.h        |   3 +
 7 files changed, 445 insertions(+), 2 deletions(-)
 create mode 100644 kernel/sched/energy_model.c

-- 
1.8.3.2


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

end of thread, other threads:[~2014-11-27 10:47 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-22  6:07 [PATCH RFC 0/7] scheduler-driven cpu frequency scaling Mike Turquette
2014-10-22  6:07 ` [PATCH RFC 1/7] sched: Make energy awareness a sched feature Mike Turquette
2014-10-22  6:07 ` [PATCH RFC 2/7] sched: cfs: declare capacity_of in sched.h Mike Turquette
2014-10-22  6:07 ` [PATCH RFC 3/7] sched: fair: add usage_util_of helper Mike Turquette
2014-10-22  6:07 ` [PATCH RFC 4/7] cpufreq: add per-governor private data Mike Turquette
2014-10-22  6:26   ` Viresh Kumar
2014-10-22  6:35     ` Mike Turquette
2014-10-22  6:07 ` [PATCH RFC 5/7] sched: cfs: cpu frequency scaling arch functions Mike Turquette
2014-10-22 20:06   ` Rik van Riel
2014-10-22 23:20     ` Mike Turquette
2014-10-23  1:42       ` Rik van Riel
2014-10-23  2:12         ` Mike Galbraith
2014-10-23  2:42           ` Rik van Riel
2014-10-22  6:07 ` [PATCH RFC 6/7] sched: cfs: cpu frequency scaling based on task placement Mike Turquette
2014-10-23  4:03   ` Preeti U Murthy
2014-10-27 15:55   ` Peter Zijlstra
2014-10-27 17:42   ` Dietmar Eggemann
2014-11-27 10:46   ` Preeti U Murthy
2014-10-22  6:07 ` [PATCH RFC 7/7] sched: energy_model: simple cpu frequency scaling policy Mike Turquette
2014-10-27 19:43   ` Dietmar Eggemann
2014-10-28 14:27   ` Peter Zijlstra

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.