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-10-25 15:25:02 -07:00
2024-10-08 14:41:53 +02:00
2024-10-08 14:41:53 +02:00
2024-11-01 07:37:10 -10:00
2024-10-28 13:16:56 +01:00
2024-11-12 03:46:57 -05:00
2024-09-18 11:44:43 +02:00
2024-08-07 11:33:21 +02:00
2024-11-18 16:50:08 -08:00
2024-11-11 14:39:38 +01:00
2024-11-18 09:54:32 -08:00
2024-08-19 13:45:03 +02:00
2024-06-17 20:42:57 +02:00
2024-07-15 11:14:59 -07:00
2024-11-19 10:43:44 -08:00
2024-09-27 08:18:43 -07:00
2024-09-27 08:18:43 -07:00
2024-11-18 14:54:10 -08:00
2024-09-27 08:18:43 -07:00
2024-10-15 15:58:36 +02:00
2024-10-21 14:30:27 +02:00
2024-10-02 17:23:23 -04:00
2024-09-16 09:14:02 +02:00
2024-11-18 16:32:58 -08:00
2024-11-18 12:24:06 -08:00
2024-10-17 00:28:06 -07:00
2024-11-06 10:42:06 +01:00
2024-11-18 12:24:06 -08:00
2024-11-18 10:30:29 -08:00
2024-10-08 14:41:46 +02:00
2024-11-18 09:35:30 -08:00
2024-08-07 11:33:21 +02:00
2024-10-08 14:41:53 +02:00
2024-11-18 18:10:37 -08:00
2024-11-18 11:30:09 -08:00
2024-10-02 17:23:23 -04:00
2024-11-13 12:56:48 -05:00
2024-08-19 13:40:00 +02:00
2024-11-18 09:33:34 -08:00
2024-11-18 09:35:30 -08:00
2024-08-07 11:33:36 +02:00
2024-11-18 10:26:49 -08:00
2024-11-04 10:24:19 -05:00
2024-11-04 10:24:19 -05:00
2024-11-18 09:35:30 -08:00
2024-11-18 09:54:32 -08:00
2024-10-02 17:23:23 -04:00
2024-11-18 12:24:06 -08:00
2024-10-08 10:53:06 -07:00
2024-11-18 12:24:06 -08:00
2024-08-07 11:33:21 +02:00
2024-06-20 09:46:01 +02:00
2024-10-02 17:23:23 -04:00
2024-11-18 14:54:10 -08:00
2024-11-18 18:10:37 -08:00
2024-09-19 10:18:15 +02:00
2024-08-07 11:31:56 +02:00
2024-11-03 01:28:06 -05:00
2024-10-02 17:23:23 -04:00
2024-08-21 22:32:58 +02:00
2024-11-18 12:24:06 -08:00
2024-10-30 20:14:12 -07:00
2024-08-07 11:33:36 +02:00
2024-07-22 18:25:47 -07:00
2024-11-01 08:38:14 -04:00
2024-10-08 14:41:53 +02:00
2024-10-02 14:32:37 +02:00
2024-11-12 19:02:12 -05:00
2024-10-28 13:36:54 +01:00
2024-08-07 11:32:02 +02:00
2024-08-20 14:03:18 -04:00
2024-11-18 12:24:06 -08:00
2024-10-02 12:02:15 -07:00
2024-11-12 14:36:45 +01:00
2024-10-10 10:20:51 +02:00
2024-10-16 13:17:45 +02:00
2024-10-17 18:38:49 +01:00
2024-10-17 18:38:49 +01:00
2024-10-02 17:23:23 -04:00
2024-07-15 11:14:59 -07:00
2024-08-07 11:26:54 -07:00
2024-11-18 09:54:32 -08:00
2024-10-22 11:16:57 +02:00
2024-10-17 18:38:49 +01:00
2024-10-22 11:16:58 +02:00
2024-10-07 13:51:47 +02:00
2024-10-22 11:16:57 +02:00
2024-08-19 13:45:02 +02:00
2024-07-24 20:59:29 +02:00
2024-11-03 01:28:06 -05:00
2024-11-18 12:24:06 -08:00
2024-10-14 12:52:40 +02:00
2024-11-18 12:24:06 -08:00
2024-11-03 01:28:06 -05:00
2024-10-30 09:58:02 +01:00
2024-11-18 10:30:29 -08:00
2024-11-18 10:45:06 -08:00
2024-11-13 14:08:34 +01:00
2024-11-03 01:28:06 -05:00
2024-11-18 09:35:30 -08:00
2024-11-18 14:54:10 -08:00
2024-11-03 01:28:06 -05:00
2024-10-03 16:19:51 -04:00
2024-06-19 13:13:55 -07:00
2024-11-03 01:28:06 -05:00
2024-11-18 14:54:10 -08:00
2024-11-03 01:28:06 -05:00
2024-08-06 09:01:41 -07:00
2024-09-24 15:29:42 -07:00
2024-09-16 11:15:26 +02:00
2024-10-28 13:26:54 +01:00
2024-11-18 12:44:25 -08:00
2024-11-18 12:24:06 -08:00
2024-09-27 08:18:43 -07:00
2024-11-18 12:24:06 -08:00
2024-10-24 13:54:51 +02:00
2024-09-27 08:18:43 -07:00
2024-10-22 11:16:59 +02:00
2024-06-28 14:36:43 +02:00
2024-11-18 12:24:06 -08:00
2024-11-03 01:28:06 -05:00
2024-11-03 01:28:07 -05:00
2024-11-03 01:28:07 -05:00
2024-10-22 11:16:57 +02:00
2024-11-03 01:28:06 -05:00
2024-11-03 01:28:06 -05:00
2024-11-18 14:54:10 -08:00
2024-11-03 01:28:06 -05:00
2024-10-21 14:30:26 +02:00
2024-11-03 01:28:06 -05:00
2024-11-03 01:28:06 -05:00
2024-10-28 21:40:38 -07:00
2024-11-03 01:28:06 -05:00
2024-11-06 13:00:01 -05:00