zephyr/kernel
Florian Grandel cc4d1bd374 kernel: sched: optimize for Meta IRQs == coop prios
Combining Meta IRQs with cooperative threads requires extra care to
return to pre-empted cooperative threads when returning from a Meta IRQ.
This is only needed when there are cooperative threads that are not also
Meta IRQs. This PR saves some space & time when the number of Meta IRQs
is equal to the number of available cooperative threads.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-08-28 20:15:44 +02:00
..
include kernel: Fix wrap-around check in kernel/mmu.h 2023-08-01 09:51:33 +02:00
paging
atomic_c.c kernel/atomic_c.c: prevent usage in SMP configs 2023-05-23 08:53:39 +02:00
banner.c kernel: banner: Allow for customising version 2023-08-21 10:09:46 +02:00
busy_wait.c kernel: crude k_busy_wait() implementation 2023-07-19 21:42:41 -04:00
CMakeLists.txt cmake: enable -Wshadow partially for in-tree code 2023-08-22 11:39:58 +02:00
compiler_stack_protect.c kernel: canaries: Allow using TLS to store it 2023-08-08 19:08:04 -04:00
condvar.c
device.c device: make device dependencies optional 2023-06-21 09:32:05 +02:00
dynamic_disabled.c kernel: dynamic: declare dynamic stubs when disabled 2023-07-24 12:59:43 -04:00
dynamic.c kernel: dynamic: remove unnecessary size assignment 2023-07-24 12:59:43 -04:00
errno.c
events.c kernel: event modification functions return previous value 2023-07-07 09:24:25 +02:00
fatal.c
futex.c
idle.c kernel: allow for arch specific processing within busy loops 2023-05-25 08:25:11 +00:00
init.c kernel: canaries: Allow using TLS to store it 2023-08-08 19:08:04 -04:00
Kconfig COVERAGE: Fix COVERAGE_GCOV dependencies 2023-08-24 15:36:31 +02:00
Kconfig.vm kernel: mmu: add direct-map support in z_phys_map() 2023-05-26 13:50:35 -04:00
kheap.c kernel/kheap: move to timepoint API 2023-07-25 09:12:26 +02:00
mailbox.c init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
main_weak.c kernel: Switch main return type from void to int 2023-04-14 07:49:41 +09:00
mem_domain.c init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
mem_slab.c iterable_sections: move to specific header 2023-05-22 10:42:30 +02:00
mempool.c
mmu.c kernel: mmu: fix bitmap set and clear under direct map 2023-08-15 16:30:55 -04:00
msg_q.c kernel: fix buffer overflow from incorrect K_MSGQ_DEFINE definition 2023-05-12 13:39:10 -04:00
mutex.c
pipes.c kernel: pipes: ISRs use a private pipe descriptor 2023-02-11 06:45:13 +09:00
poll.c
queue.c
sched.c kernel: sched: optimize for Meta IRQs == coop prios 2023-08-28 20:15:44 +02:00
sem.c kernel: Minor k_sem_give() performance enhancement 2023-04-28 10:09:46 +02:00
smp.c kernel: rename shadow variables 2023-08-10 08:14:12 +00:00
stack.c
system_work_q.c init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
thread.c iterable_sections: move to specific header 2023-05-22 10:42:30 +02:00
timeout.c kernel: timeout: Remove unneeded assignment 2023-08-22 10:46:41 +01:00
timer.c kernel/timer: fix period argument clamp handling 2023-02-20 09:52:53 +01:00
usage.c smp: Move for loops to use arch_num_cpus instead of CONFIG_MP_NUM_CPUS 2022-10-21 13:14:58 +02:00
userspace_handler.c kernel: userspace: Add k_object_alloc_size 2023-07-17 16:56:01 -04:00
userspace.c kernel: userspace: Fix memory leak 2023-07-20 16:10:32 +00:00
version.c
work.c kernel/work: Fix race under with delayed work item cancellation 2023-02-11 12:14:16 +09:00
xip.c kernel: canaries: Allow using TLS to store it 2023-08-08 19:08:04 -04:00