[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