Linus Torvalds
3f020399e4
Merge tag 'sched-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler updates from Ingo Molnar:
"Core facilities:
- Add the "Lazy preemption" model (CONFIG_PREEMPT_LAZY=y), which
optimizes fair-class preemption by delaying preemption requests to
the tick boundary, while working as full preemption for
RR/FIFO/DEADLINE classes. (Peter Zijlstra)
- x86: Enable Lazy preemption (Peter Zijlstra)
- riscv: Enable Lazy preemption (Jisheng Zhang)
- Initialize idle tasks only once (Thomas Gleixner)
- sched/ext: Remove sched_fork() hack (Thomas Gleixner)
Fair scheduler:
- Optimize the PLACE_LAG when se->vlag is zero (Huang Shijie)
Idle loop:
- Optimize the generic idle loop by removing unnecessary memory
barrier (Zhongqiu Han)
RSEQ:
- Improve cache locality of RSEQ concurrency IDs for intermittent
workloads (Mathieu Desnoyers)
Waitqueues:
- Make wake_up_{bit,var} less fragile (Neil Brown)
PSI:
- Pass enqueue/dequeue flags to psi callbacks directly (Johannes
Weiner)
Preparatory patches for proxy execution:
- Add move_queued_task_locked helper (Connor O'Brien)
- Consolidate pick_*_task to task_is_pushable helper (Connor O'Brien)
- Split out __schedule() deactivate task logic into a helper (John
Stultz)
- Split scheduler and execution contexts (Peter Zijlstra)
- Make mutex::wait_lock irq safe (Juri Lelli)
- Expose __mutex_owner() (Juri Lelli)
- Remove wakeups from under mutex::wait_lock (Peter Zijlstra)
Misc fixes and cleanups:
- Remove unused __HAVE_THREAD_FUNCTIONS hook support (David
Disseldorp)
- Update the comment for TIF_NEED_RESCHED_LAZY (Sebastian Andrzej
Siewior)
- Remove unused bit_wait_io_timeout (Dr. David Alan Gilbert)
- remove the DOUBLE_TICK feature (Huang Shijie)
- fix the comment for PREEMPT_SHORT (Huang Shijie)
- Fix unnused variable warning (Christian Loehle)
- No PREEMPT_RT=y for all{yes,mod}config"
* tag 'sched-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits)
sched, x86: Update the comment for TIF_NEED_RESCHED_LAZY.
sched: No PREEMPT_RT=y for all{yes,mod}config
riscv: add PREEMPT_LAZY support
sched, x86: Enable Lazy preemption
sched: Enable PREEMPT_DYNAMIC for PREEMPT_RT
sched: Add Lazy preemption model
sched: Add TIF_NEED_RESCHED_LAZY infrastructure
sched/ext: Remove sched_fork() hack
sched: Initialize idle tasks only once
sched: psi: pass enqueue/dequeue flags to psi callbacks directly
sched/uclamp: Fix unnused variable warning
sched: Split scheduler and execution contexts
sched: Split out __schedule() deactivate task logic into a helper
sched: Consolidate pick_*_task to task_is_pushable helper
sched: Add move_queued_task_locked helper
locking/mutex: Expose __mutex_owner()
locking/mutex: Make mutex::wait_lock irq safe
locking/mutex: Remove wakeups from under mutex::wait_lock
sched: Improve cache locality of RSEQ concurrency IDs for intermittent workloads
sched: idle: Optimize the generic idle loop by removing needless memory barrier
...
2024-11-19 14:16:06 -08:00
..
2024-11-19 10:43:44 -08:00
2024-11-18 12:24:06 -08:00
2024-09-01 20:34:38 +09:00
2024-10-02 17:23:23 -04:00
2024-09-23 08:38:56 +02:00
2024-11-05 12:55:37 +01:00
2024-11-19 13:34:06 -08:00
2024-11-19 14:16:06 -08:00
2024-06-15 10:43:06 -07:00
2024-10-27 10:40:47 +01:00
2024-10-14 16:44:56 +02:00
2024-07-02 16:56:18 +02:00
2024-11-19 14:16:06 -08:00
2024-11-18 12:24:06 -08:00
2024-11-04 23:00:47 +01:00
2024-11-05 12:55:35 +01:00
2024-11-19 11:27:07 -08:00
2024-11-19 14:16:06 -08:00
2024-11-19 12:43:11 -08:00
2024-11-19 13:34:06 -08:00
2024-04-24 09:43:53 +02:00
2024-02-09 11:13:59 -10:00
2024-04-04 16:24:16 +02:00
2024-04-04 16:24:16 +02:00
2024-11-18 17:34:05 -08:00
2024-10-11 14:34:16 -04:00
2024-10-11 14:34:16 -04:00
2024-11-18 17:34:05 -08:00
2024-06-24 22:24:55 -07:00
2024-04-29 08:29:29 -07:00
2023-08-08 16:48:47 -04:00
2024-08-15 21:30:43 +05:30
2024-10-17 20:07:22 -07:00
2024-09-01 20:43:37 -07:00
2024-09-01 20:43:30 -07:00
2024-02-23 17:33:31 -05:00
2024-07-24 20:59:29 +02:00
2024-02-23 17:48:22 -08:00
2024-10-07 13:34:41 -04:00
2023-09-21 12:03:50 -06:00
2024-11-19 14:16:06 -08:00
2024-10-14 09:14:35 +02:00
2024-05-30 01:13:20 +09:00
2023-09-29 11:28:39 -07:00
2024-07-24 20:59:29 +02:00
2023-08-21 13:37:28 -07:00
2024-09-10 11:57:27 +02:00
2024-07-20 16:33:21 +09:00
2024-08-15 09:33:35 -07:00
2024-08-15 09:33:35 -07:00
2024-10-07 13:34:41 -04:00
2024-11-14 22:43:48 -08:00
2024-11-07 15:25:05 +01:00
2024-09-17 12:40:34 +02:00
2024-07-24 20:59:29 +02:00
2024-09-01 17:59:01 -07:00
2024-09-01 20:43:23 -07:00
2024-04-23 14:59:01 +10:00
2024-08-05 14:04:03 +09:00
2024-07-29 10:45:54 -07:00
2024-10-09 12:47:19 -07:00
2024-07-24 20:59:29 +02:00
2024-09-03 21:15:26 -07:00
2024-11-03 01:28:06 -05:00
2024-11-10 11:50:54 +08:00
2024-09-19 10:18:15 +02:00
2023-12-01 09:51:44 -08:00
2024-07-24 20:59:29 +02:00
2024-07-24 20:59:29 +02:00
2024-11-03 01:28:06 -05:00
2024-08-04 13:36:28 -07:00
2024-02-22 15:38:52 -08:00
2024-04-24 09:43:53 +02:00
2024-04-25 21:07:03 -07:00
2024-09-27 08:18:43 -07:00
2024-10-09 12:47:19 -07:00
2024-10-28 21:40:40 -07:00
2024-11-14 16:09:51 -08:00
2024-07-24 20:59:29 +02:00
2024-11-18 12:24:06 -08:00
2024-10-11 09:31:21 -07:00
2023-10-04 10:41:57 -07:00
2024-10-07 09:28:39 +02:00
2024-07-24 20:59:29 +02:00
2023-12-29 12:22:29 -08:00
2024-09-06 16:29:22 +02:00
2024-08-15 21:30:42 +05:30
2024-07-18 12:19:20 -07:00
2024-11-18 18:10:37 -08:00
2024-06-03 15:20:37 +02:00
2024-07-24 20:59:29 +02:00
2024-10-11 10:49:32 +02:00
2024-11-03 01:28:06 -05:00
2024-05-30 15:31:38 -07:00
2024-09-25 23:23:44 +09:00
2024-07-12 16:39:53 -07:00
2024-11-07 14:14:59 -08:00
2024-10-07 13:34:41 -04:00
2023-09-13 14:59:24 +02:00
2024-09-09 16:47:42 -07:00
2024-09-12 12:16:09 +02:00
2024-07-24 20:59:29 +02:00
2024-05-22 08:31:15 -04:00
2024-09-03 21:15:43 -07:00
2024-11-03 01:28:06 -05:00
2024-07-17 21:11:34 -07:00
2024-09-01 20:43:32 -07:00
2023-08-07 15:57:22 -10:00
2024-09-18 06:59:44 +02:00