zephyr/kernel
Peter Mitsis ea6adb6726 kernel: Add custom scheduler yield routines
Adds customized yield implementations based upon the selected
scheduler (dumb, multiq or scalable). Although each follows the
same broad outline, some of them allow for additional tweaking
to extract maximal performance. For example, the multiq variant
improves the performance of k_yield() by about 20%.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-01-07 18:24:09 +01:00
..
include kernel: Add custom scheduler yield routines 2025-01-07 18:24:09 +01:00
paging kernel: mm: rename z_num_pagefaults_get to k_mem_num_* 2024-06-12 21:13:26 -04:00
atomic_c.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
banner.c kernel: banner: Add option to clear screen on boot 2024-06-13 20:30:14 -04:00
busy_wait.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
CMakeLists.txt security: Additional option for stack canaries 2024-12-20 12:37:20 +01:00
compiler_stack_protect.c security: Add default stack protection level 2024-12-20 12:37:20 +01:00
condvar.c kernel: Apply 'unlikely' attribute 2024-10-15 04:06:32 -04:00
cpu_mask.c kernel: Simplify k_thread_cpu_pin() 2024-09-20 09:02:38 +02:00
device.c device: Optimize device_get_binding search efficiency 2024-11-27 08:18:30 +01:00
dynamic.c kernel: dynamic: simplify dynamic stack allocation 2024-12-11 21:33:00 +01:00
dynamic_disabled.c kernel: dynamic: declare dynamic stubs when disabled 2023-07-24 12:59:43 -04:00
errno.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
events.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
fatal.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
float.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
futex.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
idle.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
init.c security: Additional option for stack canaries 2024-12-20 12:37:20 +01:00
init_static.c lib c/cpp: Move .ctor .init_array handling from C++ to kernel 2024-06-25 19:14:37 -04:00
ipi.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
irq_offload.c kernel: add closing comments to config endifs 2024-03-25 18:03:31 -04:00
Kconfig security: Add default stack protection level 2024-12-20 12:37:20 +01:00
Kconfig.device libc: common: Fix init hang issue 2024-06-26 13:07:02 -04:00
Kconfig.init init: support per-core init hook 2024-11-16 14:04:25 -05:00
Kconfig.mem_domain kconfig: replace known integer constants with variables 2024-07-27 20:49:15 +03:00
Kconfig.obj_core kernel: reorg Kconfigs and split them 2024-03-06 19:27:28 -05:00
Kconfig.smp kernel: remove CONFIG_MP_NUM_CPUS 2024-09-19 18:28:37 +01:00
Kconfig.vm kernel: mmu: support for on-demand mappings 2024-08-26 17:25:41 -04:00
kheap.c kernel: Add k_heap_calloc 2024-12-30 17:32:03 +01:00
mailbox.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
main_weak.c
mem_domain.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
mem_slab.c kernel: Optimize k_mem_slab_free() 2024-12-14 01:03:28 +01:00
mempool.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
mmu.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
msg_q.c kernel: k_msgq_put should trigger reschedule 2024-12-14 01:04:43 +01:00
mutex.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
nothread.c kernel: fix k_sleep in no multi-threading mode 2024-11-16 14:07:41 -05:00
obj_core.c kernel: reduce k_spin_unlock calls using if-else if-else structure 2024-07-27 20:48:07 +03:00
pipes.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
poll.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
priority_queues.c kernel: priority queues: declare as static inlines 2024-04-22 16:40:11 -04:00
queue.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
sched.c kernel: Add custom scheduler yield routines 2025-01-07 18:24:09 +01:00
sem.c kernel: Apply 'unlikely' attribute 2024-10-15 04:06:32 -04:00
smp.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
spinlock_validate.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
stack.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
system_work_q.c kernel: system_work_q: Mark queue thread as essential 2024-04-25 21:40:24 +02:00
thread.c kernel: Decouple sleep from suspend 2024-12-18 18:17:03 +01:00
thread_monitor.c style: kernel: comply with MISRA C:2012 Rule 15.6 2024-09-11 07:40:35 -04:00
timeout.c kernel: timeout: ensure next timeout is set when aborting the first timeout 2025-01-06 22:36:07 +01:00
timer.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
timeslicing.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
usage.c kernel: Remove duplicate execution_cycles write and improve docstring 2024-04-28 13:04:20 -04:00
userspace.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
userspace_handler.c arch: deprecate _current 2024-11-23 20:12:24 -05:00
version.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
work.c tracing: kernel: Add support for stopping workqueues 2024-12-12 11:07:39 +01:00
xip.c security: Additional option for stack canaries 2024-12-20 12:37:20 +01:00