archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <>
To: Linus Torvalds <>
	Peter Zijlstra <>,
	Thomas Gleixner <>,
	Andrew Morton <>,
	Vincent Guittot <>,
	Dietmar Eggemann <>,
	Mel Gorman <>, Juri Lelli <>
Subject: [GIT PULL] scheduler changes for v5.7
Date: Mon, 30 Mar 2020 19:31:59 +0200	[thread overview]
Message-ID: <> (raw)


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

   git:// sched-core-for-linus

   # HEAD: 313f16e2e35abb833eab5bdebc6ae30699adca18 Merge branch 'sched/rt' into sched/core, to pick up completed topic tree

The main changes in this cycle are:

 - Various NUMA scheduling updates: harmonize the load-balancer and NUMA 
   placement logic to not work against each other. The intended result is 
   better locality, better utilization and fewer migrations.

 - Introduce Thermal Pressure tracking and optimizations, to improve task 
   placement on thermally overloaded systems.

 - Implement frequency invariant scheduler accounting on (some) x86 CPUs. 
   This is done by observing and sampling the 'recent' CPU frequency 
   average at ~tick boundaries. The CPU provides this data via the 
   APERF/MPERF MSRs. This hopefully makes our capacity estimates more 
   precise and keeps tasks on the same CPU better even if it might seem 
   overloaded at a lower momentary frequency. (As usual, turbo mode is a 
   complication that we resolve by observing the maximum frequency and 
   renormalizing to it.)

 - Add asymmetric CPU capacity wakeup scan to improve capacity 
   utilization on asymmetric topologies. (big.LITTLE systems)

 - PSI fixes and optimizations.

 - RT scheduling capacity awareness fixes & improvements.

 - Optimize the CONFIG_RT_GROUP_SCHED constraints code.

 - Misc fixes, cleanups and optimizations - see the changelog for details.



Chris Wilson (1):
      sched/vtime: Prevent unstable evaluation of WARN(vtime->state)

Giovanni Gherdovich (6):
      x86, sched: Add support for frequency invariance
      x86, sched: Add support for frequency invariance on SKYLAKE_X
      x86, sched: Add support for frequency invariance on XEON_PHI_KNL/KNM
      x86, sched: Add support for frequency invariance on ATOM_GOLDMONT*
      x86, sched: Add support for frequency invariance on ATOM
      x86/intel_pstate: Handle runtime turbo disablement/enablement in frequency invariance

Ingo Molnar (1):
      thermal/cpu-cooling, sched/core: Move the arch_set_thermal_pressure() API to generic scheduler code

Jann Horn (1):
      threads: Update PID limit comment according to futex UAPI change

Johannes Weiner (3):
      psi: Fix cpu.pressure for cpu.max and competing cgroups
      psi: Optimize switching tasks inside shared cgroups
      MAINTAINERS: Add maintenance information for psi

Konstantin Khlebnikov (1):
      sched/rt: Optimize checking group RT scheduler constraints

Liang Chen (1):
      kthread: Do not preempt current task if it is going to call schedule()

Mel Gorman (8):
      sched/numa: Trace when no candidate CPU was found on the preferred node
      sched/numa: Distinguish between the different task_numa_migrate() failure cases
      sched/numa: Use similar logic to the load balancer for moving between domains with spare capacity
      sched/numa: Prefer using an idle CPU as a migration target instead of comparing tasks
      sched/numa: Find an alternative idle CPU if the CPU is part of an active NUMA balance
      sched/numa: Bias swapping tasks based on their preferred node
      sched/numa: Stop an exhastive search if a reasonable swap candidate or idle CPU is found
      sched/numa: Acquire RCU lock for checking idle cores during NUMA balancing

Michael Wang (1):
      sched: Avoid scale real weight down to zero

Morten Rasmussen (3):
      sched/fair: Add asymmetric CPU capacity wakeup scan
      sched/topology: Remove SD_BALANCE_WAKE on asymmetric capacity systems
      sched/fair: Remove wake_cap()

Paul Turner (1):
      sched/core: Distribute tasks within affinity masks

Qais Yousef (6):
      sched/rt: cpupri_find: Implement fallback mechanism for !fit case
      sched/rt: Re-instate old behavior in select_task_rq_rt()
      sched/rt: Optimize cpupri_find() on non-heterogenous systems
      sched/rt: Allow pulling unfitting task
      sched/rt: Remove unnecessary push for unfit tasks
      sched/rt: cpupri_find: Trigger a full search as fallback

Scott Wood (1):
      sched/core: Remove duplicate assignment in sched_tick_remote()

Srikar Dronamraju (1):
      sched/fair: Optimize select_idle_core()

Tao Zhou (1):
      sched/fair: Fix condition of avg_load calculation

Thara Gopinath (9):
      sched/pelt: Add support to track thermal pressure
      sched/topology: Add callback to read per CPU thermal pressure
      drivers/base/arch_topology: Add infrastructure to store and update instantaneous thermal pressure
      arm64/topology: Populate arch_scale_thermal_pressure() for arm64 platforms
      arm/topology: Populate arch_scale_thermal_pressure() for ARM platforms
      sched/fair: Enable periodic update of average thermal pressure
      sched/fair: Update cpu_capacity to reflect thermal pressure
      thermal/cpu-cooling: Update thermal pressure in case of a maximum frequency capping
      sched/fair: Enable tuning of decay period

Thomas Gleixner (2):
      sched/rt: Provide migrate_disable/enable() inlines
      sched: Provide cant_migrate()

Valentin Schneider (4):
      sched/core: Remove for_each_lower_domain()
      sched/fair: Fix kernel build warning in test_idle_cores() for !SMT NUMA
      sched/topology: Don't enable EAS on SMT systems
      arm64: defconfig: enable CONFIG_SCHED_SMT

Vincent Guittot (9):
      sched/fair: Reorder enqueue/dequeue_task_fair path
      sched/numa: Replace runnable_load_avg by load_avg
      sched/pelt: Remove unused runnable load average
      sched/pelt: Add a new runnable average signal
      sched/fair: Take into account runnable_avg to classify group
      sched/fair: Fix runnable_avg for throttled cfs
      sched/fair: Fix reordering of enqueue/dequeue_task_fair()
      sched/fair: Fix enqueue_task_fair warning
      sched/fair: Improve spreading of utilization

Yafang Shao (1):
      psi: Move PF_MEMSTALL out of task->flags

Yu Chen (1):
      sched/deadline: Make two functions static

 Documentation/admin-guide/kernel-parameters.txt |  16 +
 Documentation/robust-futex-ABI.txt              |  14 +-
 MAINTAINERS                                     |   6 +
 arch/arm/include/asm/topology.h                 |   3 +
 arch/arm64/configs/defconfig                    |   1 +
 arch/arm64/include/asm/topology.h               |   3 +
 arch/x86/include/asm/topology.h                 |  25 +
 arch/x86/kernel/smpboot.c                       | 290 ++++++++-
 drivers/cpufreq/intel_pstate.c                  |   1 +
 drivers/thermal/cpufreq_cooling.c               |  19 +-
 include/linux/arch_topology.h                   |  10 +
 include/linux/cpumask.h                         |   7 +
 include/linux/kernel.h                          |   7 +
 include/linux/preempt.h                         |  30 +
 include/linux/psi.h                             |   2 +
 include/linux/psi_types.h                       |  10 +-
 include/linux/sched.h                           |  37 +-
 include/linux/sched/topology.h                  |   8 +
 include/linux/threads.h                         |   2 +-
 include/trace/events/sched.h                    |  53 +-
 init/Kconfig                                    |   4 +
 kernel/kthread.c                                |  17 +-
 kernel/sched/core.c                             |  27 +-
 kernel/sched/cpupri.c                           | 158 +++--
 kernel/sched/cpupri.h                           |   6 +-
 kernel/sched/cputime.c                          |  41 +-
 kernel/sched/deadline.c                         |   6 +-
 kernel/sched/debug.c                            |  17 +-
 kernel/sched/fair.c                             | 791 ++++++++++++++++--------
 kernel/sched/pelt.c                             |  90 ++-
 kernel/sched/pelt.h                             |  31 +
 kernel/sched/psi.c                              | 111 +++-
 kernel/sched/rt.c                               |  66 +-
 kernel/sched/sched.h                            |  69 ++-
 kernel/sched/stats.h                            |  31 +-
 kernel/sched/topology.c                         |  27 +-
 lib/cpumask.c                                   |  29 +
 37 files changed, 1552 insertions(+), 513 deletions(-)

             reply	other threads:[~2020-03-30 17:32 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-30 17:31 Ingo Molnar [this message]
2020-03-31  0:25 ` pr-tracker-bot
2020-03-31 10:33 ` Mel Gorman
2020-03-31 13:48   ` Peter Zijlstra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \ \ \ \
    --subject='Re: [GIT PULL] scheduler changes for v5.7' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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