[GIT PULL] scheduler changes for v5.8
From: Ingo Molnar
Date: Tue Jun 02 2020 - 08:14:02 EST
Linus,
Please pull the latest sched/core git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-2020-06-02
# HEAD: 25de110d148666752dc0e0da7a0b69de31cd7098 irq_work: Define irq_work_single() on !CONFIG_IRQ_WORK too
The changes in this cycle are:
- Optimize the task wakeup CPU selection logic, to improve scalability and
reduce wakeup latency spikes
- PELT enhancements
- CFS bandwidth handling fixes
- Optimize the wakeup path by remove rq->wake_list and replacing it with ->ttwu_pending
- Optimize IPI cross-calls by making flush_smp_call_function_queue()
process sync callbacks first.
- Misc fixes and enhancements.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Thanks,
Ingo
------------------>
Chen Yu (2):
sched: Make newidle_balance() static again
sched: Extract the task putting code from pick_next_task()
Davidlohr Bueso (1):
sched/swait: Reword some of the main description
Gustavo A. R. Silva (1):
sched/fair: Replace zero-length array with flexible-array
Huaixin Chang (2):
sched/fair: Refill bandwidth before scaling
sched: Defend cfs and rt bandwidth quota against overflow
Ingo Molnar (4):
Merge branch 'sched/urgent' into sched/core, to pick up fix
Merge branch 'core/rcu' into sched/core, to pick up dependency
sched/headers: Split out open-coded prototypes into kernel/sched/smp.h
irq_work: Define irq_work_single() on !CONFIG_IRQ_WORK too
Jann Horn (1):
exit: Move preemption fixup up, move blocking operations down
Josh Don (1):
sched/fair: Remove distribute_running from CFS bandwidth
Mel Gorman (1):
sched/core: Offload wakee task activation if it the wakee is descheduling
Muchun Song (4):
sched/fair: Mark sched_init_granularity __init
sched/fair: Use __this_cpu_read() in wake_wide()
sched/cpuacct: Use __this_cpu_add() instead of this_cpu_ptr()
sched/cpuacct: Fix charge cpuacct.usage_sys
Paul Turner (1):
sched/fair: Eliminate bandwidth race between throttling and distribution
Peng Wang (1):
sched/fair: Simplify the code of should_we_balance()
Peter Zijlstra (10):
sched/core: Fix illegal RCU from offline CPUs
Merge branch 'sched/urgent'
sched/core: Optimize ttwu() spinning on p->on_cpu
sched: Fix smp_call_function_single_async() usage for ILB
smp: Optimize flush_smp_call_function_queue()
smp: Move irq_work_run() out of flush_smp_call_function_queue()
smp: Optimize send_call_function_single_ipi()
irq_work, smp: Allow irq_work on call_single_queue
sched: Add rq::ttwu_pending
sched: Replace rq::wake_list
Peter Zijlstra (Intel) (1):
sched: Clean up scheduler_ipi()
Thomas Gleixner (1):
sched: Make scheduler_ipi inline
Valentin Schneider (4):
sched/fair: find_idlest_group(): Remove unused sd_flag parameter
sched/debug: Make sd->flags sysctl read-only
sched: Remove checks against SD_LOAD_BALANCE
sched/topology: Kill SD_LOAD_BALANCE
Vincent Guittot (2):
sched/fair: Optimize enqueue_task_fair()
sched/pelt: Sync util/runnable_sum with PELT window when propagating
Wei Yang (1):
sched/core: Simplify sched_init()
Xie XiuQi (1):
sched/debug: Fix trival print_task() format
arch/powerpc/platforms/powernv/smp.c | 1 -
include/linux/irq_work.h | 9 +++++++-
include/linux/sched.h | 11 +++++++++-
include/linux/sched/mm.h | 2 ++
include/linux/sched/topology.h | 29 +++++++++++++-------------
include/linux/smp.h | 24 +++++++++++++++++++++-
include/linux/swait.h | 23 +++++----------------
kernel/cpu.c | 18 +++++++++++++++-
kernel/exit.c | 25 +++++++++++++++--------
kernel/irq_work.c | 53 +++++++++++++++++++++++++----------------------
kernel/sched/core.c | 248 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------
kernel/sched/cpuacct.c | 7 ++++---
kernel/sched/debug.c | 9 ++++----
kernel/sched/fair.c | 259 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------------------------------------------------------------
kernel/sched/idle.c | 6 +++++-
kernel/sched/pelt.c | 24 ++++++++++++++++++++++
kernel/sched/rt.c | 12 ++++++++++-
kernel/sched/sched.h | 36 +++++++++++++++-----------------
kernel/sched/smp.h | 9 ++++++++
kernel/sched/topology.c | 31 +++++++++-------------------
kernel/smp.c | 175 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------
21 files changed, 603 insertions(+), 408 deletions(-)
create mode 100644 kernel/sched/smp.h