From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Thomas Gleixner <tglx@linutronix.de>,
Andrew Morton <akpm@linux-foundation.org>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Mel Gorman <mgorman@suse.de>, Juri Lelli <juri.lelli@redhat.com>
Subject: [GIT PULL] scheduler changes for v5.7
Date: Mon, 30 Mar 2020 19:31:59 +0200 [thread overview]
Message-ID: <20200330173159.GA128106@gmail.com> (raw)
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: 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.
Thanks,
Ingo
------------------>
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(-)
next 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:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200330173159.GA128106@gmail.com \
--to=mingo@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=dietmar.eggemann@arm.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=vincent.guittot@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome