Pull scheduler fixes from Ingo Molnar: - Fix spurious failures in rseq self-tests (Mark Brown) - Fix rseq rseq::cpu_id_start ABI regression due to TCMalloc's creative use of the supposedly read-only field The fix is to introduce a new ABI variant based on a new (larger) rseq area registration size, to keep the TCMalloc use of rseq backwards compatible on new kernels (Thomas Gleixner) - Fix wakeup_preempt_fair() for not waking up task (Vincent Guittot) - Fix s64 mult overflow in vruntime_eligible() (Zhan Xusheng) * tag 'sched-urgent-2026-05-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/fair: Fix wakeup_preempt_fair() for not waking up task sched/fair: Fix overflow in vruntime_eligible() selftests/rseq: Expand for optimized RSEQ ABI v2 rseq: Reenable performance optimizations conditionally rseq: Implement read only ABI enforcement for optimized RSEQ V2 mode selftests/rseq: Validate legacy behavior selftests/rseq: Make registration flexible for legacy and optimized mode selftests/rseq: Skip tests if time slice extensions are not available rseq: Revert to historical performance killing behaviour rseq: Don't advertise time slice extensions if disabled rseq: Protect rseq_reset() against interrupts rseq: Set rseq::cpu_id_start to 0 on unregistration selftests/rseq: Don't run tests with runner scripts outside of the scripts
Showing the changes to include/uapi/linux (1 of 19 files). Show all
Unified · Split
| @@ -28,7 +28,7 @@ enum rseq_cs_flags_bit { · 27 unmodified lines | |||
| 28 | RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0, | 28 | RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0, |
| 29 | RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1, | 29 | RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1, |
| 30 | RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2, | 30 | RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2, |
| 31 | /* (3) Intentional gap to put new bits into a separate byte */ | 31 | /* (3) Intentional gap to keep new bits separate */ |
| 32 | 32 | ||
| 33 | /* User read only feature flags */ | 33 | /* User read only feature flags */ |
| 34 | RSEQ_CS_FLAG_SLICE_EXT_AVAILABLE_BIT = 4, | 34 | RSEQ_CS_FLAG_SLICE_EXT_AVAILABLE_BIT = 4, |
| @@ -161,6 +161,9 @@ struct rseq { · 126 unmodified lines | |||
| 161 | * - RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT | 161 | * - RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT |
| 162 | * - RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL | 162 | * - RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL |
| 163 | * - RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE | 163 | * - RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE |
| 164 | * | ||
| 165 | * It is now used for feature status advertisement by the kernel. | ||
| 166 | * See: enum rseq_cs_flags_bit for further information. | ||
| 164 | */ | 167 | */ |
| 165 | __u32 flags; | 168 | __u32 flags; |
| 166 | 169 | ||