From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Valentin Schneider <vschneid@redhat.com>
Subject: [GIT PULL] Scheduler changes for v6.12
Date: Thu, 19 Sep 2024 12:00:29 +0200 [thread overview]
Message-ID: <Zuv2PZQ1GWpxhQB9@gmail.com> (raw)
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-09-19
# HEAD: bc9057da1a220ff2cb6c8885fd5352558aceba2c sched/cpufreq: Use NSEC_PER_MSEC for deadline task
Merge conflict notes:
#
# The freshly merged timer tree changes cause direct conflicts in two files
# and semantic conflicts in three files due to API changes:
#
# Conflicts:
# fs/select.c
# kernel/time/hrtimer.c
#
# Semantic conflicts:
# fs/proc/base.c
# kernel/sched/syscalls.c
# kernel/sys.c
#
# To double check, see my tentative merge resolution in adf04642e625:
#
# git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/merge
#
In the v6.12 scheduler development cycle we had 63 commits from 18 contributors:
- Implement the SCHED_DEADLINE server infrastructure - Daniel Bristot de Oliveira's
last major contribution to the kernel:
"SCHED_DEADLINE servers can help fixing starvation issues of low priority
tasks (e.g., SCHED_OTHER) when higher priority tasks monopolize CPU
cycles. Today we have RT Throttling; DEADLINE servers should be able to
replace and improve that."
(Daniel Bristot de Oliveira, Peter Zijlstra, Joel Fernandes,
Youssef Esmat, Huang Shijie)
- Preparatory changes for sched_ext integration:
- Use set_next_task(.first) where required
- Fix up set_next_task() implementations
- Clean up DL server vs. core sched
- Split up put_prev_task_balance()
- Rework pick_next_task()
- Combine the last put_prev_task() and the first set_next_task()
- Rework dl_server
- Add put_prev_task(.next)
(Peter Zijlstra, with a fix by Tejun Heo)
- Complete the EEVDF transition and refine EEVDF scheduling:
- Implement delayed dequeue
- Allow shorter slices to wakeup-preempt
- Use sched_attr::sched_runtime to set request/slice suggestion
- Document the new feature flags
- Remove unused and duplicate-functionality fields
- Simplify & unify pick_next_task_fair()
- Misc debuggability enhancements
(Peter Zijlstra, with fixes/cleanups by Dietmar Eggemann,
Valentin Schneider and Chuyi Zhou)
- Initialize the vruntime of a new task when it is first enqueued,
resulting in significant decrease in latency of newly woken tasks.
(Zhang Qiao)
- Introduce SM_IDLE and an idle re-entry fast-path in __schedule()
(K Prateek Nayak, Peter Zijlstra)
- Clean up and clarify the usage of Clean up usage of rt_task()
(Qais Yousef)
- Preempt SCHED_IDLE entities in strict cgroup hierarchies
(Tianchen Ding)
- Clarify the documentation of time units for deadline scheduler
parameters. (Christian Loehle)
- Remove the HZ_BW chicken-bit feature flag introduced a year ago,
the original change seems to be working fine.
(Phil Auld)
- Misc fixes and cleanups (Chen Yu, Dan Carpenter, Huang Shijie,
Peilin He, Qais Yousefm and Vincent Guittot)
Thanks,
Ingo
------------------>
Chen Yu (2):
sched/pelt: Use rq_clock_task() for hw_pressure
kthread: Fix task state in kthread worker if being frozen
Christian Loehle (4):
sched/deadline: Convert schedtool example to chrt
sched/deadline: Clarify nanoseconds in uapi
cpufreq/cppc: Use NSEC_PER_MSEC for deadline task
sched/cpufreq: Use NSEC_PER_MSEC for deadline task
Chuyi Zhou (1):
sched/fair: Remove cfs_rq::nr_spread_over and cfs_rq::exec_clock
Dan Carpenter (1):
sched/debug: Fix fair_server_period_max value
Daniel Bristot de Oliveira (3):
sched/deadline: Comment sched_dl_entity::dl_server variable
sched/deadline: Deferrable dl server
sched/fair: Fair server interface
Dietmar Eggemann (1):
kernel/sched: Fix util_est accounting for DELAY_DEQUEUE
Huang Shijie (2):
sched/deadline: Fix schedstats vs deadline servers
sched/debug: Fix the runnable tasks output
Joel Fernandes (Google) (3):
sched/core: Add clearing of ->dl_server in put_prev_task_balance()
sched/core: Fix priority checking for DL server picks
sched/core: Fix picking of tasks for core scheduling with DL server
Peilin He (1):
sched/core: Add WARN_ON_ONCE() to check overflow for migrate_disable()
Peter Zijlstra (36):
sched/fair: Add trivial fair server
sched/rt: Remove default bandwidth control
sched/fair: Cleanup fair_server
sched/eevdf: Add feature comments
sched/eevdf: Remove min_vruntime_copy
sched/fair: Cleanup pick_task_fair() vs throttle
sched/fair: Cleanup pick_task_fair()'s curr
sched/fair: Unify pick_{,next_}_task_fair()
sched: Allow sched_class::dequeue_task() to fail
sched/fair: Re-organize dequeue_task_fair()
sched: Split DEQUEUE_SLEEP from deactivate_task()
sched: Prepare generic code for delayed dequeue
sched/uclamg: Handle delayed dequeue
sched/fair: Assert {set_next,put_prev}_entity() are properly balanced
sched/fair: Prepare exit/cleanup paths for delayed_dequeue
sched/fair: Prepare pick_next_task() for delayed dequeue
sched/fair: Implement ENQUEUE_DELAYED
sched,freezer: Mark TASK_FROZEN special
sched: Teach dequeue_task() about special task states
sched/fair: Implement delayed dequeue
sched/fair: Implement DELAY_ZERO
sched/eevdf: Fixup PELT vs DELAYED_DEQUEUE
sched/fair: Avoid re-setting virtual deadline on 'migrations'
sched/eevdf: Allow shorter slices to wakeup-preempt
sched/eevdf: Use sched_attr::sched_runtime to set request/slice suggestion
sched/eevdf: Propagate min_slice up the cgroup hierarchy
sched: Use set_next_task(.first) where required
sched: Fixup set_next_task() implementations
sched: Clean up DL server vs core sched
sched: Split up put_prev_task_balance()
sched: Rework pick_next_task()
sched: Combine the last put_prev_task() and the first set_next_task()
sched: Rework dl_server
sched: Add put_prev_task(.next)
sched/core: Introduce SM_IDLE and an idle re-entry fast-path in __schedule()
sched: Fix sched_delayed vs sched_core
Phil Auld (1):
sched: remove HZ_BW feature hedge
Qais Yousef (3):
sched/rt: Clean up usage of rt_task()
sched/rt, dl: Convert functions to return bool
sched/rt: Rename realtime_{prio, task}() to rt_or_dl_{prio, task}()
Tejun Heo (1):
sched/fair: Make balance_fair() test sched_fair_runnable() instead of rq->nr_running
Tianchen Ding (1):
sched/fair: Make SCHED_IDLE entity be preempted in strict hierarchy
Valentin Schneider (1):
sched/fair: Properly deactivate sched_delayed task upon class change
Vincent Guittot (1):
sched/fair: Move effective_cpu_util() and effective_cpu_util() in fair.c
Youssef Esmat (1):
sched/core: Clear prev->dl_server in CFS pick fast path
Zhang Qiao (1):
sched: Initialize the vruntime of a new task when it is first enqueued
Documentation/scheduler/sched-deadline.rst | 14 +-
drivers/cpufreq/cppc_cpufreq.c | 6 +-
fs/bcachefs/six.c | 2 +-
fs/select.c | 2 +-
include/linux/ioprio.h | 2 +-
include/linux/sched.h | 28 +-
include/linux/sched/deadline.h | 14 +-
include/linux/sched/prio.h | 1 +
include/linux/sched/rt.h | 33 +-
include/uapi/linux/sched/types.h | 6 +-
kernel/freezer.c | 2 +-
kernel/kthread.c | 10 +-
kernel/locking/rtmutex.c | 4 +-
kernel/locking/rwsem.c | 4 +-
kernel/locking/ww_mutex.h | 2 +-
kernel/sched/core.c | 248 +++++++---
kernel/sched/cpufreq_schedutil.c | 6 +-
kernel/sched/deadline.c | 503 +++++++++++++++----
kernel/sched/debug.c | 198 +++++++-
kernel/sched/fair.c | 770 ++++++++++++++++++++++-------
kernel/sched/features.h | 30 +-
kernel/sched/idle.c | 23 +-
kernel/sched/rt.c | 261 +++++-----
kernel/sched/sched.h | 101 +++-
kernel/sched/stop_task.c | 18 +-
kernel/sched/syscalls.c | 132 +----
kernel/sched/topology.c | 8 +
kernel/time/hrtimer.c | 6 +-
kernel/trace/trace_sched_wakeup.c | 2 +-
mm/page-writeback.c | 4 +-
mm/page_alloc.c | 2 +-
31 files changed, 1695 insertions(+), 747 deletions(-)
next reply other threads:[~2024-09-19 10:00 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-19 10:00 Ingo Molnar [this message]
2024-09-19 15:10 ` [GIT PULL] Scheduler changes for v6.12 pr-tracker-bot
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=Zuv2PZQ1GWpxhQB9@gmail.com \
--to=mingo@kernel.org \
--cc=bsegall@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=vincent.guittot@linaro.org \
--cc=vschneid@redhat.com \
/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.