[GIT PULL] scheduler updates for v4.15

From: Ingo Molnar
Date: Mon Nov 13 2017 - 03:01:06 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: 765cc3a4b224e22bf524fabe40284a524f37cdd0 sched/core: Optimize sched_feat() for !CONFIG_SCHED_DEBUG builds

The main updates in this cycle were:

- Group balancing enhancements and cleanups (Brendan Jackman)

- Move CPU isolation related functionality into its separate
kernel/sched/isolation.c file, with related 'housekeeping_*()' namespace and
nomenclature et al. (Frederic Weisbecker)

- Improve the interactive/cpu-intense fairness calculation (Josef Bacik)

- Improve the PELT code and related cleanups (Peter Zijlstra)

- Improve the logic of pick_next_task_fair() (Uladzislau Rezki)

- Improve the RT IPI based balancing logic (Steven Rostedt)

- Various micro-optimizations:

- better !CONFIG_SCHED_DEBUG optimizations (Patrick Bellasi)
- better idle loop (Cheng Jian)

- ... plus misc fixes, cleanups and updates.

Thanks,

Ingo

------------------>
Brendan Jackman (7):
sched/fair: Sync task util before slow-path wakeup
sched/fair: Force balancing on NOHZ balance if local group has capacity
sched/fair: Move select_task_rq_fair() slow-path into its own function
sched/fair: Remove unnecessary comparison with -1
sched/fair: Fix find_idlest_group() when local group is not allowed
sched/fair: Fix usage of find_idlest_group() when no groups are allowed
sched/fair: Fix usage of find_idlest_group() when the local group is idlest

Cheng Jian (1):
sched/idle: Micro-optimize the idle loop

Dou Liyang (1):
x86/tsc: Append the 'tsc=' description for the 'tsc=unstable' boot parameter

Frederic Weisbecker (12):
sched/isolation: Move housekeeping related code to its own file
sched/isolation, watchdog: Use housekeeping_cpumask() instead of ad-hoc version
sched/isolation: Provide a dynamic off-case to housekeeping_any_cpu()
sched/isolation: Make the housekeeping cpumask private
sched/isolation: Use its own static key
sched/isolation: Rename is_housekeeping_cpu() to housekeeping_cpu()
sched/isolation: Split out new CONFIG_CPU_ISOLATION=y config from CONFIG_NO_HZ_FULL
sched/isolation: Introduce housekeeping flags
sched/isolation: Handle the nohz_full= parameter
sched/isolation: Move isolcpus= handling to the housekeeping code
sched/isolation: Add basic isolcpus flags
sched/isolation: Document isolcpus= boot parameter flags, mark it deprecated

Josef Bacik (1):
sched/fair: Calculate runnable_weight slightly differently

Luca Abeni (1):
sched/deadline: Fix switching to -deadline

Matthias Kaehlcke (1):
sched/sysctl: Fix attributes of some extern declarations

Patrick Bellasi (1):
sched/core: Optimize sched_feat() for !CONFIG_SCHED_DEBUG builds

Peter Zijlstra (20):
sched/fair: Clean up calc_cfs_shares()
sched/fair: Add comment to calc_cfs_shares()
sched/fair: Cure calc_cfs_shares() vs. reweight_entity()
sched/fair: Remove se->load.weight from se->avg.load_sum
sched/fair: Change update_load_avg() arguments
sched/fair: Move enqueue migrate handling
sched/fair: Rename {en,de}queue_entity_load_avg()
sched/fair: Introduce {en,de}queue_load_avg()
sched/fair: More accurate reweight_entity()
sched/fair: Rewrite cfs_rq->removed_*avg
sched/fair: Rewrite PELT migration propagation
sched/fair: Propagate an effective runnable_load_avg
sched/fair: Implement synchonous PELT detach on load-balance migrate
sched/fair: Align PELT windows between cfs_rq and its se
sched/fair: Implement more accurate async detach
sched/fair: Update calc_group_*() comments
sched/idle: Move quiet_vmstate() into the NOHZ code
sched/debug: Rename task-state printing helpers
sched/deadline: Rename __dl_clear() to __dl_sub()
sched/topology: Restore SD_PREFER_SIBLING on MC domains

Rakib Mullick (1):
sched/isolcpus: Fix "isolcpus=" boot parameter handling when !CONFIG_CPUMASK_OFFSTACK

Sebastian Andrzej Siewior (2):
sched/rt: Add a helper to test for a RT task
block/ioprio: Use a helper to check for RT prio

Steven Rostedt (Red Hat) (1):
sched/rt: Simplify the IPI based RT balancing logic

Suravee Suthikulpanit (1):
sched/topology: Introduce NUMA identity node sched domain

Uladzislau Rezki (1):
sched/fair: Search a task from the tail of the queue

Vincent Guittot (1):
sched/fair: Use reweight_entity() for set_user_nice()

luca abeni (2):
sched/headers: Remove duplicate prototype of __dl_clear_params()
sched/deadline: Use C bitfields for the state flags


Documentation/admin-guide/kernel-parameters.txt | 40 +-
drivers/base/cpu.c | 11 +-
drivers/net/ethernet/tile/tilegx.c | 6 +-
fs/proc/array.c | 2 +-
include/linux/cpumask.h | 16 +
include/linux/ioprio.h | 3 +-
include/linux/sched.h | 19 +-
include/linux/sched/isolation.h | 51 ++
include/linux/sched/rt.h | 11 +
include/linux/sched/sysctl.h | 6 +-
include/linux/tick.h | 39 +-
include/trace/events/sched.h | 2 +-
init/Kconfig | 7 +
init/main.c | 2 +
kernel/cgroup/cpuset.c | 15 +-
kernel/rcu/tree_plugin.h | 3 +-
kernel/rcu/update.c | 3 +-
kernel/sched/Makefile | 1 +
kernel/sched/core.c | 56 +-
kernel/sched/deadline.c | 21 +-
kernel/sched/debug.c | 18 +-
kernel/sched/fair.c | 1049 +++++++++++++++--------
kernel/sched/idle.c | 4 +-
kernel/sched/isolation.c | 155 ++++
kernel/sched/rt.c | 316 +++----
kernel/sched/sched.h | 73 +-
kernel/sched/topology.c | 49 +-
kernel/time/tick-sched.c | 33 +-
kernel/trace/trace_output.c | 12 +-
kernel/trace/trace_sched_wakeup.c | 8 +-
kernel/watchdog.c | 13 +-
31 files changed, 1270 insertions(+), 774 deletions(-)
create mode 100644 include/linux/sched/isolation.h
create mode 100644 kernel/sched/isolation.c