[GIT PULL] scheduler changes for v4.21

From: Ingo Molnar
Date: Mon Dec 24 2018 - 17:45:16 EST


Linus,

Please pull the latest sched-core-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-for-linus

# HEAD: 732cd75b8c920d3727e69957b14faa7c2d7c3b75 sched/fair: Select an energy-efficient CPU on task wake-up

The main changes in this cycle were:

- Introduce "Energy Aware Scheduling" - by Quentin Perret. This is a
coherent topology description of CPUs in cooperation with the PM
subsystem, with the goal to schedule more energy-efficiently on
assymetric SMP platform - such as waking up tasks to the more
energy-efficient CPUs first, as long as the system isn't
oversubscribed.

For details of the design, see:

https://marc.info/?l=linux-kernel&m=153243513908731&w=2

- Misc cleanups and smaller enhancements.

Thanks,

Ingo

------------------>
Ingo Molnar (1):
sched: Fix various typos in comments

Morten Rasmussen (1):
sched/fair: Add over-utilization/tipping point indicator

Muchun Song (2):
sched/core: Introduce set_next_task() helper for better code readability
sched/fair: Make some variables static

Patrick Bellasi (2):
sched/fair: Mask UTIL_AVG_UNCHANGED usages
sched/fair: Add lsub_positive() and use it consistently

Quentin Perret (11):
sched/topology: Relocate arch_scale_cpu_capacity() to the internal header
sched/cpufreq: Prepare schedutil for Energy Aware Scheduling
PM: Introduce an Energy Model management framework
sched/topology: Reference the Energy Model of CPUs when available
sched/topology: Add lowest CPU asymmetry sched_domain level pointer
sched/topology: Disable EAS on inappropriate platforms
sched/topology: Make Energy Aware Scheduling depend on schedutil
sched/toplogy: Introduce the 'sched_energy_present' static key
sched/fair: Clean-up update_sg_lb_stats parameters
sched/fair: Introduce an energy estimation helper function
sched/fair: Select an energy-efficient CPU on task wake-up

Valentin Schneider (2):
sched/fair: Clean up load_balance() condition
sched/fair: Don't increase sd->balance_interval on newidle balance

Vincent Guittot (1):
sched/topology: Remove the ::smt_gain field from 'struct sched_domain'

Viresh Kumar (2):
sched/core: Create task_has_idle_policy() helper
sched/core: Clean up the #ifdef block in add_nr_running()

Yangtao Li (1):
sched/core: Remove unnecessary unlikely() in push_*_task()


drivers/cpufreq/cpufreq.c | 1 +
include/linux/cpufreq.h | 8 +
include/linux/energy_model.h | 187 +++++++++++++++++++
include/linux/sched.h | 4 +-
include/linux/sched/cpufreq.h | 6 +
include/linux/sched/isolation.h | 4 +-
include/linux/sched/mm.h | 2 +-
include/linux/sched/stat.h | 2 +-
include/linux/sched/topology.h | 17 +-
kernel/power/Kconfig | 15 ++
kernel/power/Makefile | 2 +
kernel/power/energy_model.c | 201 ++++++++++++++++++++
kernel/sched/core.c | 6 +-
kernel/sched/cpufreq_schedutil.c | 90 +++++++--
kernel/sched/cputime.c | 2 +-
kernel/sched/deadline.c | 25 ++-
kernel/sched/debug.c | 2 +-
kernel/sched/fair.c | 385 +++++++++++++++++++++++++++++++++------
kernel/sched/isolation.c | 14 +-
kernel/sched/rt.c | 28 ++-
kernel/sched/sched.h | 97 +++++++---
kernel/sched/topology.c | 231 ++++++++++++++++++++++-
22 files changed, 1179 insertions(+), 150 deletions(-)
create mode 100644 include/linux/energy_model.h
create mode 100644 kernel/power/energy_model.c