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%)
Hi Ingo,
On Mon, 13 May 2024 at 08:35, Ingo Molnar <[email protected]> wrote:
>
> 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()
There is a fix for the one above:
https://lore.kernel.org/lkml/[email protected]/
> 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%)
* Vincent Guittot <[email protected]> wrote:
> Hi Ingo,
>
> On Mon, 13 May 2024 at 08:35, Ingo Molnar <[email protected]> wrote:
> >
> > 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()
>
> There is a fix for the one above:
> https://lore.kernel.org/lkml/[email protected]/
So this is a cleanup in essence, so I delayed it for the next sched/urgent
pile - will apply it once Linus pulls sched/core.
Thanks,
Ingo
On Mon, 13 May 2024 at 11:09, Ingo Molnar <[email protected]> wrote:
>
>
> * Vincent Guittot <[email protected]> wrote:
>
> > Hi Ingo,
..
> > >
> > > 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()
> >
> > There is a fix for the one above:
> > https://lore.kernel.org/lkml/[email protected]/
>
> So this is a cleanup in essence, so I delayed it for the next sched/urgent
> pile - will apply it once Linus pulls sched/core.
Ok
Thanks
>
> Thanks,
>
> Ingo
The pull request you sent on Mon, 13 May 2024 08:35:11 +0200:
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-2024-05-13
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/6e5a0c30b616bfff6926ecca5d88e3d06e6bf79a
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html