mirror of
https://github.com/torvalds/linux.git
synced 2024-09-20 06:53:04 +00:00
2004cef11e
- 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) Signed-off-by: Ingo Molnar <mingo@kernel.org> -----BEGIN PGP SIGNATURE----- iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmbr8qcRHG1pbmdvQGtl cm5lbC5vcmcACgkQEnMQ0APhK1gdbw/+Mj3zWfYP+dtUkfgrR2FClPAJoo1/9Dz0 LYD8XgYHu8rEJ0Aq+VbdkgYGUt9utvzUFPIxvWFDcldQl57KwhF4hp9Ir+PqJyYC NolQ1q8ddo1hnslxnEg6SgHVzQq/4FqMM0nDNUkQETCx6zTyFFeRf+q7o/2c2m5B uI9dSU1Wrx7XrXm2D3kB8+xP+ZRy+qhbFN5Pfuz96mhelfklylgKMfPzgAiCT/7T JTbQhQ2HdcCNgiLoSrWsHBDy2UYpouP4zb4jyd+lDQzhSUJrj3u4Xy4vVmuTKq+y sTgWlgKB+MTuh9UuJ4UYzSnMqg161UlMvtXeH84ABmAqDNGHRPtOKrrlcLtJ3D4x m1SPhNnsvpjOu2pH0XLIS8al3VUesWND5S+rucHRYSq6Nvhivf4MTvRJlicXXurL Mt2APnIlhGJuKBNWnmyZovVdtO0ZUUPlaZWfr3rCS4txAVo+HwWhsm3uhtTycQqN gazsCiuGh6Jds90ZqA/BvdLWG+DY8J0xLlV3ex4pCXuQ/HFrabVWTyThJsULhrZ2 5mTdWIsocPctNMO9/RHMy7vJI7G7ljgHEquWVn5kiGGzXhK6VwVwKAMpfgXGw+YA yVP6/M7a7g2yEzj69gXkcDa8k/kedMVquJ/G/8YhZM7u7sPqsMjpmaGsqsJRfnpT ChngAzap+kA= =TEC6 -----END PGP SIGNATURE----- Merge tag 'sched-core-2024-09-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler updates from Ingo Molnar: - 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) * tag 'sched-core-2024-09-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits) sched/cpufreq: Use NSEC_PER_MSEC for deadline task cpufreq/cppc: Use NSEC_PER_MSEC for deadline task sched/deadline: Clarify nanoseconds in uapi sched/deadline: Convert schedtool example to chrt sched/debug: Fix the runnable tasks output sched: Fix sched_delayed vs sched_core kernel/sched: Fix util_est accounting for DELAY_DEQUEUE kthread: Fix task state in kthread worker if being frozen sched/pelt: Use rq_clock_task() for hw_pressure sched/fair: Move effective_cpu_util() and effective_cpu_util() in fair.c sched/core: Introduce SM_IDLE and an idle re-entry fast-path in __schedule() sched: Add put_prev_task(.next) sched: Rework dl_server sched: Combine the last put_prev_task() and the first set_next_task() sched: Rework pick_next_task() sched: Split up put_prev_task_balance() sched: Clean up DL server vs core sched sched: Fixup set_next_task() implementations sched: Use set_next_task(.first) where required sched/fair: Properly deactivate sched_delayed task upon class change ... |
||
---|---|---|
.. | ||
acl.c | ||
acl.h | ||
alloc_background_format.h | ||
alloc_background.c | ||
alloc_background.h | ||
alloc_foreground.c | ||
alloc_foreground.h | ||
alloc_types.h | ||
backpointers.c | ||
backpointers.h | ||
bbpos_types.h | ||
bbpos.h | ||
bcachefs_format.h | ||
bcachefs_ioctl.h | ||
bcachefs.h | ||
bkey_buf.h | ||
bkey_cmp.h | ||
bkey_methods.c | ||
bkey_methods.h | ||
bkey_sort.c | ||
bkey_sort.h | ||
bkey_types.h | ||
bkey.c | ||
bkey.h | ||
bset.c | ||
bset.h | ||
btree_cache.c | ||
btree_cache.h | ||
btree_gc_types.h | ||
btree_gc.c | ||
btree_gc.h | ||
btree_io.c | ||
btree_io.h | ||
btree_iter.c | ||
btree_iter.h | ||
btree_journal_iter.c | ||
btree_journal_iter.h | ||
btree_key_cache_types.h | ||
btree_key_cache.c | ||
btree_key_cache.h | ||
btree_locking.c | ||
btree_locking.h | ||
btree_node_scan_types.h | ||
btree_node_scan.c | ||
btree_node_scan.h | ||
btree_trans_commit.c | ||
btree_types.h | ||
btree_update_interior.c | ||
btree_update_interior.h | ||
btree_update.c | ||
btree_update.h | ||
btree_write_buffer_types.h | ||
btree_write_buffer.c | ||
btree_write_buffer.h | ||
buckets_types.h | ||
buckets_waiting_for_journal_types.h | ||
buckets_waiting_for_journal.c | ||
buckets_waiting_for_journal.h | ||
buckets.c | ||
buckets.h | ||
chardev.c | ||
chardev.h | ||
checksum.c | ||
checksum.h | ||
clock_types.h | ||
clock.c | ||
clock.h | ||
compress.c | ||
compress.h | ||
darray.c | ||
darray.h | ||
data_update.c | ||
data_update.h | ||
debug.c | ||
debug.h | ||
dirent_format.h | ||
dirent.c | ||
dirent.h | ||
disk_accounting_format.h | ||
disk_accounting_types.h | ||
disk_accounting.c | ||
disk_accounting.h | ||
disk_groups_format.h | ||
disk_groups_types.h | ||
disk_groups.c | ||
disk_groups.h | ||
ec_format.h | ||
ec_types.h | ||
ec.c | ||
ec.h | ||
errcode.c | ||
errcode.h | ||
error.c | ||
error.h | ||
extent_update.c | ||
extent_update.h | ||
extents_format.h | ||
extents_types.h | ||
extents.c | ||
extents.h | ||
eytzinger.c | ||
eytzinger.h | ||
fifo.h | ||
fs-common.c | ||
fs-common.h | ||
fs-io-buffered.c | ||
fs-io-buffered.h | ||
fs-io-direct.c | ||
fs-io-direct.h | ||
fs-io-pagecache.c | ||
fs-io-pagecache.h | ||
fs-io.c | ||
fs-io.h | ||
fs-ioctl.c | ||
fs-ioctl.h | ||
fs.c | ||
fs.h | ||
fsck.c | ||
fsck.h | ||
inode_format.h | ||
inode.c | ||
inode.h | ||
io_misc.c | ||
io_misc.h | ||
io_read.c | ||
io_read.h | ||
io_write_types.h | ||
io_write.c | ||
io_write.h | ||
journal_io.c | ||
journal_io.h | ||
journal_reclaim.c | ||
journal_reclaim.h | ||
journal_sb.c | ||
journal_sb.h | ||
journal_seq_blacklist_format.h | ||
journal_seq_blacklist.c | ||
journal_seq_blacklist.h | ||
journal_types.h | ||
journal.c | ||
journal.h | ||
Kconfig | ||
keylist_types.h | ||
keylist.c | ||
keylist.h | ||
logged_ops_format.h | ||
logged_ops.c | ||
logged_ops.h | ||
lru_format.h | ||
lru.c | ||
lru.h | ||
Makefile | ||
mean_and_variance_test.c | ||
mean_and_variance.c | ||
mean_and_variance.h | ||
migrate.c | ||
migrate.h | ||
move_types.h | ||
move.c | ||
move.h | ||
movinggc.c | ||
movinggc.h | ||
nocow_locking_types.h | ||
nocow_locking.c | ||
nocow_locking.h | ||
opts.c | ||
opts.h | ||
printbuf.c | ||
printbuf.h | ||
quota_format.h | ||
quota_types.h | ||
quota.c | ||
quota.h | ||
rebalance_types.h | ||
rebalance.c | ||
rebalance.h | ||
recovery_passes_types.h | ||
recovery_passes.c | ||
recovery_passes.h | ||
recovery.c | ||
recovery.h | ||
reflink_format.h | ||
reflink.c | ||
reflink.h | ||
replicas_format.h | ||
replicas_types.h | ||
replicas.c | ||
replicas.h | ||
sb-clean.c | ||
sb-clean.h | ||
sb-counters_format.h | ||
sb-counters.c | ||
sb-counters.h | ||
sb-downgrade_format.h | ||
sb-downgrade.c | ||
sb-downgrade.h | ||
sb-errors_format.h | ||
sb-errors_types.h | ||
sb-errors.c | ||
sb-errors.h | ||
sb-members_format.h | ||
sb-members_types.h | ||
sb-members.c | ||
sb-members.h | ||
seqmutex.h | ||
siphash.c | ||
siphash.h | ||
six.c | ||
six.h | ||
snapshot_format.h | ||
snapshot.c | ||
snapshot.h | ||
str_hash.h | ||
subvolume_format.h | ||
subvolume_types.h | ||
subvolume.c | ||
subvolume.h | ||
super_types.h | ||
super-io.c | ||
super-io.h | ||
super.c | ||
super.h | ||
sysfs.c | ||
sysfs.h | ||
tests.c | ||
tests.h | ||
thread_with_file_types.h | ||
thread_with_file.c | ||
thread_with_file.h | ||
time_stats.c | ||
time_stats.h | ||
trace.c | ||
trace.h | ||
two_state_shared_lock.c | ||
two_state_shared_lock.h | ||
util.c | ||
util.h | ||
varint.c | ||
varint.h | ||
vstructs.h | ||
xattr_format.h | ||
xattr.c | ||
xattr.h |