[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZkG0nxxBPB/03Q/l@gmail.com>
Date: Mon, 13 May 2024 08:35:11 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Juri Lelli <juri.lelli@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>,
Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>,
Daniel Bristot de Oliveira <bristot@...hat.com>,
Valentin Schneider <vschneid@...hat.com>,
Shrikanth Hegde <sshegde@...ux.ibm.com>
Subject: [GIT PULL] Scheduler changes for v6.10
Linus,
Please pull the latest sched/core Git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-2024-05-13
# HEAD: 97450eb909658573dcacc1063b06d3d08642c0c1 sched/pelt: Remove shift of thermal clock
Scheduler changes for v6.10:
- Add cpufreq pressure feedback for the scheduler
- Rework misfit load-balancing wrt. affinity restrictions
- Clean up and simplify the code around ::overutilized and
::overload access.
- Simplify sched_balance_newidle()
- Bump SCHEDSTAT_VERSION to 16 due to a cleanup of CPU_MAX_IDLE_TYPES
handling that changed the output.
- Rework & clean up <asm/vtime.h> interactions wrt. arch_vtime_task_switch()
- Reorganize, clean up and unify most of the higher level
scheduler balancing function names around the sched_balance_*()
prefix.
- Simplify the balancing flag code (sched_balance_running)
- Miscellaneous cleanups & fixes
Thanks,
Ingo
------------------>
Alexander Gordeev (5):
sched/vtime: Remove confusing arch_vtime_task_switch() declaration
sched/vtime: Get rid of generic vtime_task_switch() implementation
s390/vtime: Remove unused __ARCH_HAS_VTIME_TASK_SWITCH leftover
s390/irq,nmi: Include <asm/vtime.h> header directly
sched/vtime: Do not include <asm/vtime.h> header
Ingo Molnar (28):
sched/balancing: Switch the 'DEFINE_SPINLOCK(balancing)' spinlock into an 'atomic_t sched_balance_running' flag
sched/balancing: Change 'enum cpu_idle_type' to have more natural definitions
sched/debug: Increase SCHEDSTAT_VERSION to 16
sched/debug: Allow CONFIG_SCHEDSTATS even on !KERNEL_DEBUG kernels
sched/balancing: Change comment formatting to not overlap Git conflict marker lines
sched/balancing: Fix comments (trying to) refer to NOHZ_BALANCE_KICK
sched/balancing: Update run_rebalance_domains() comments
sched/balancing: Vertically align the comments of 'struct sg_lb_stats' and 'struct sd_lb_stats'
sched/balancing: Update comments in 'struct sg_lb_stats' and 'struct sd_lb_stats'
sched/balancing: Rename run_rebalance_domains() => sched_balance_softirq()
sched/balancing: Rename scheduler_tick() => sched_tick()
sched/balancing: Rename trigger_load_balance() => sched_balance_trigger()
sched/balancing: Rename rebalance_domains() => sched_balance_domains()
sched/balancing: Rename load_balance() => sched_balance_rq()
sched/balancing: Rename find_busiest_queue() => sched_balance_find_src_rq()
sched/balancing: Rename find_busiest_group() => sched_balance_find_src_group()
sched/balancing: Rename update_blocked_averages() => sched_balance_update_blocked_averages()
sched/balancing: Rename newidle_balance() => sched_balance_newidle()
sched/balancing: Rename find_idlest_group_cpu() => sched_balance_find_dst_group_cpu()
sched/balancing: Rename find_idlest_group() => sched_balance_find_dst_group()
sched/balancing: Rename find_idlest_cpu() => sched_balance_find_dst_cpu()
sched/balancing: Fix a couple of outdated function names in comments
sched/fair: Fix typos in comments
sched/fair: Rename root_domain::overload to ::overloaded
sched/fair: Rename {set|get}_rd_overload() to {set|get}_rd_overloaded()
sched/fair: Rename SG_OVERLOAD to SG_OVERLOADED
sched/fair: Rename set_rd_overutilized_status() to set_rd_overutilized()
sched/balancing: Simplify the sg_status bitmask and use separate ->overloaded and ->overutilized flags
Qais Yousef (4):
sched/topology: Export asym_cap_list
sched/fair: Check if a task has a fitting CPU when updating misfit
sched/topology: Remove root_domain::max_cpu_capacity
sched/fair: Don't double balance_interval for migrate_misfit
Shrikanth Hegde (7):
sched/balancing: Remove reliance on 'enum cpu_idle_type' ordering when iterating [CPU_MAX_IDLE_TYPES] arrays in show_schedstat()
sched/fair: Add EAS checks before updating root_domain::overutilized
sched/fair: Introduce is_rd_overutilized() helper function to access root_domain::overutilized
sched/fair: Simplify the continue_balancing logic in sched_balance_newidle()
sched/fair: Combine EAS check with root_domain::overutilized access
sched/fair: Check root_domain::overload value before update
sched/fair: Use helper functions to access root_domain::overload
Vincent Guittot (6):
sched/fair: Fix update of rd->sg_overutilized
cpufreq: Add a cpufreq pressure feedback for the scheduler
sched/cpufreq: Take cpufreq feedback into account
thermal/cpufreq: Remove arch_update_thermal_pressure()
sched/cpufreq: Rename arch_update_thermal_pressure() => arch_update_hw_pressure()
sched/pelt: Remove shift of thermal clock
Documentation/admin-guide/kernel-parameters.txt | 1 +
Documentation/scheduler/sched-domains.rst | 12 +-
Documentation/scheduler/sched-stats.rst | 37 +-
.../translations/zh_CN/scheduler/sched-domains.rst | 10 +-
.../translations/zh_CN/scheduler/sched-stats.rst | 30 +-
arch/arm/include/asm/topology.h | 6 +-
arch/arm/kernel/topology.c | 2 +-
arch/arm64/include/asm/topology.h | 6 +-
arch/powerpc/include/asm/Kbuild | 1 -
arch/powerpc/include/asm/cputime.h | 13 -
arch/powerpc/kernel/time.c | 22 +
arch/s390/include/asm/vtime.h | 2 -
arch/s390/kernel/irq.c | 1 +
arch/s390/kernel/nmi.c | 1 +
drivers/base/arch_topology.c | 26 +-
drivers/cpufreq/cpufreq.c | 36 ++
drivers/cpufreq/qcom-cpufreq-hw.c | 4 +-
drivers/thermal/cpufreq_cooling.c | 3 -
include/asm-generic/vtime.h | 1 -
include/linux/arch_topology.h | 8 +-
include/linux/cpufreq.h | 10 +
include/linux/sched.h | 3 +-
include/linux/sched/idle.h | 2 +-
include/linux/sched/topology.h | 10 +-
include/linux/vtime.h | 5 -
.../events/{thermal_pressure.h => hw_pressure.h} | 14 +-
include/trace/events/sched.h | 2 +-
init/Kconfig | 12 +-
init/init_task.c | 1 +
kernel/sched/core.c | 14 +-
kernel/sched/cputime.c | 13 -
kernel/sched/fair.c | 501 ++++++++++++---------
kernel/sched/loadavg.c | 2 +-
kernel/sched/pelt.c | 22 +-
kernel/sched/pelt.h | 16 +-
kernel/sched/sched.h | 71 ++-
kernel/sched/stats.c | 5 +-
kernel/sched/topology.c | 56 ++-
kernel/time/timer.c | 2 +-
kernel/workqueue.c | 2 +-
lib/Kconfig.debug | 2 +-
.../ftrace/test.d/ftrace/func_set_ftrace_file.tc | 2 +-
42 files changed, 549 insertions(+), 440 deletions(-)
delete mode 100644 include/asm-generic/vtime.h
rename include/trace/events/{thermal_pressure.h => hw_pressure.h} (55%)
Powered by blists - more mailing lists