zephyr/kernel
Peter Mitsis e55ac3ef65 kernel: Improve ordering in SMP k_thread_suspend()
The routine k_thread_suspend() has a fast path for non-SMP when
suspending the current thread. When SMP is enabled, it is expected
that the compiler drop the entire fast path checks because the whole
expression would always evaluate to false. However, the compiler has
been observed to only drop whole fast path check when the
"!IS_ENABLED(CONFIG_SMP)" condition appears at the beginning of the
fast path check.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-02-07 02:23:45 +01:00
..
include kernel: Change z_handle_obj_poll_events() return type 2025-02-03 19:51:20 +01:00
paging
atomic_c.c
banner.c
busy_wait.c
CMakeLists.txt kernel: Rewrite k_pipe_* API 2025-01-17 19:43:44 +01:00
compiler_stack_protect.c
condvar.c kernel: condvar: broadcast does not always need reschedule 2025-02-03 19:51:20 +01:00
cpu_mask.c
device.c
dynamic_disabled.c
dynamic.c
errno.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
events.c
fatal.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
float.c
futex.c kernel: futex: Allow for fast return on k_futex_wake() 2025-02-03 19:51:20 +01:00
idle.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
init_static.c
init.c
ipi.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
irq_offload.c
Kconfig kernel: Rewrite k_pipe_* API 2025-01-17 19:43:44 +01:00
Kconfig.device
Kconfig.init
Kconfig.mem_domain
Kconfig.obj_core kernel: Rewrite k_pipe_* API 2025-01-17 19:43:44 +01:00
Kconfig.smp
Kconfig.vm
kheap.c kernel: Initialize kheap spinlock 2025-02-04 09:19:09 +01:00
mailbox.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
main_weak.c
mem_domain.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
mem_slab.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
mempool.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
mmu.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
msg_q.c kernel: msgq: Allow for fast returns 2025-02-03 19:51:20 +01:00
mutex.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
nothread.c
obj_core.c
pipe.c k_pipe: fix trace point for blocking writes 2025-01-28 14:13:14 +01:00
pipes.c kernel: Propagate z_handle_obj_poll_events() return 2025-02-03 19:51:20 +01:00
poll.c kernel: Change z_handle_obj_poll_events() return type 2025-02-03 19:51:20 +01:00
priority_queues.c
queue.c kernel: queue: Allow for fast return 2025-02-03 19:51:20 +01:00
sched.c kernel: Improve ordering in SMP k_thread_suspend() 2025-02-07 02:23:45 +01:00
sem.c kernel: Allow for fast return on k_sem_reset() 2025-02-03 19:51:20 +01:00
smp.c kernel: mark z_smp_current_get() with the const attribute 2025-01-10 07:49:08 +01:00
spinlock_validate.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
stack.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
system_work_q.c
thread_monitor.c
thread.c kernel: uninline z_dummy_thread_init() 2025-01-15 07:19:40 +01:00
timeout.c kernel: Add timeout_lock usage notes 2025-01-28 18:14:22 +01:00
timer.c
timeslicing.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
usage.c
userspace_handler.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
userspace.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
version.c
work.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
xip.c