zephyr/kernel
Andy Ross f2280d119d kernel/sched: Don't touch deadline values on queued threads
k_thread_deadline_set() would modify the thread's deadline and then,
if it was in the run queue, requeue it to put it at the right spot.
Sounds right, right?

It's wrong.  The deadline field is part of the thread priority, so
this results in a mis-ordered list.  For dlist backends, that's benign
as the removal works anyway, but if CONFIG_SCHED_SCALABLE=y we've now
broken the sorting order of an in-tree item and corrupted the rbtree!

Fixes #69935

Signed-off-by: Andy Ross <andyross@google.com>
2024-03-11 15:42:26 +01:00
..
include kernel: Remove unused z_pend_curr_irqlock() 2024-03-07 11:51:06 -05:00
paging
CMakeLists.txt kernel: move float operations out of thread.c 2024-03-06 19:27:28 -05:00
Kconfig kernel: split thread monitor 2024-03-06 19:27:28 -05:00
Kconfig.device kernel: reorg Kconfigs and split them 2024-03-06 19:27:28 -05:00
Kconfig.obj_core kernel: reorg Kconfigs and split them 2024-03-06 19:27:28 -05:00
Kconfig.smp kernel: reorg Kconfigs and split them 2024-03-06 19:27:28 -05:00
Kconfig.vm
atomic_c.c
banner.c
busy_wait.c
compiler_stack_protect.c
condvar.c
cpu_mask.c kernel: rename scheduler spinlock variable and make it private 2024-03-06 19:27:28 -05:00
device.c
dynamic.c kernel: dynamic: reduce verbosity in degenerate case 2024-01-26 06:50:11 -05:00
dynamic_disabled.c
errno.c
events.c
fatal.c kernel: fatal: remove LCOV exclusion 2023-12-21 09:18:44 +01:00
float.c kernel: move float operations out of thread.c 2024-03-06 19:27:28 -05:00
futex.c
idle.c kernel: fix spelling errors 2024-02-25 20:53:37 -05:00
init.c kernel: move z_init_static_threads to where it is being used 2024-03-06 19:27:28 -05:00
irq_offload.c kernel: split irq_offload ccode into own file 2024-03-06 19:27:28 -05:00
kheap.c kernel: rename h -> heap 2024-03-06 19:27:28 -05:00
mailbox.c kernel: fix spelling errors 2024-02-25 20:53:37 -05:00
main_weak.c
mem_domain.c kernel: rename scheduler spinlock variable and make it private 2024-03-06 19:27:28 -05:00
mem_slab.c
mempool.c kernel: Introduce a way to specify minimum system heap size 2023-12-20 11:01:42 +01:00
mmu.c kernel: mmu: no need to expose z_free_page_count 2023-12-12 18:46:21 +00:00
msg_q.c
mutex.c kernel: sched: z_set_prio -> z_thread_prio_set 2024-03-06 19:27:28 -05:00
obj_core.c
pipes.c kernel: Apply const to k_pipe_put() parameter 2023-12-15 14:51:35 -05:00
poll.c
priority_queues.c kernel: move priority queue handling to own file/header 2024-03-02 15:06:45 +01:00
queue.c
sched.c kernel/sched: Don't touch deadline values on queued threads 2024-03-11 15:42:26 +01:00
sem.c
smp.c smp: fix a race when starting / resuming multiple CPUs 2024-02-16 07:27:04 +01:00
spinlock_validate.c kernel: move spinlock validation to own file 2024-03-06 19:27:28 -05:00
stack.c
system_work_q.c
thread.c kernel: thread: use consistent thread parameter 2024-03-06 19:27:28 -05:00
thread_monitor.c kernel: split thread monitor 2024-03-06 19:27:28 -05:00
timeout.c kernel: timeout: optimize z_timeout_expires() 2024-03-08 18:05:10 +01:00
timer.c
usage.c
userspace.c kernel/userspace: Fix dynamic thread stack allocation at userspace 2024-03-06 14:17:53 +01:00
userspace_handler.c
version.c
work.c sched: finalize_cancel_locked can early return 2024-03-07 19:40:51 -05:00
xip.c