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 ` [GIT PULL] scheduler changes for v5.7 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.