incubator-nuttx/sched/semaphore
TaiJu Wu 23d65cb97f shced:sem: replace mutex with spinlock
The overhead of spinlok is less than mutext (mutex need to call
enter_critical section.)
After this patch, `down_write_trylock` and `down_read_trylock` can be
use in interrupt context.

The instruction is protected with mutex only one instruction so using
spinlock is better.

Signed-off-by: TaiJu Wu <tjwu1217@gmail.com>
2024-03-19 18:06:12 +08:00
..
CMakeLists.txt Feature: implement ticket spinlock 2023-10-07 01:38:37 +08:00
Make.defs misc/rwlock:Implementing read/write locks. 2023-12-02 19:43:19 -08:00
sem_clockwait.c sched/semaphore: Move cancel point and errno handling to libc / user-space 2023-11-27 04:52:54 -08:00
sem_destroy.c sched/semaphore: Move cancel point and errno handling to libc / user-space 2023-11-27 04:52:54 -08:00
sem_holder.c sched/sem_holder.c: When accessing SEM_WAITLIST, use holder's addrenv 2023-11-15 03:45:15 -08:00
sem_initialize.c add the startup process tracepoint 2023-08-19 21:50:08 +08:00
sem_post.c sched/semaphore: Move cancel point and errno handling to libc / user-space 2023-11-27 04:52:54 -08:00
sem_recover.c sem: don't clear waitobj when do sem recover 2022-10-11 16:31:54 +09:00
sem_reset.c sched: Author Gregory Nutt: update licenses to Apache 2021-02-09 01:21:53 -08:00
sem_rw.c shced:sem: replace mutex with spinlock 2024-03-19 18:06:12 +08:00
sem_setprotocol.c sched/semaphore: Move cancel point and errno handling to libc / user-space 2023-11-27 04:52:54 -08:00
sem_tickwait.c sched/getpid: replace syscall getpid/tid/ppid() to kernel version 2023-02-02 10:33:01 +08:00
sem_timedwait.c sched/semaphore: Move cancel point and errno handling to libc / user-space 2023-11-27 04:52:54 -08:00
sem_timeout.c sched: Author Gregory Nutt: update licenses to Apache 2021-02-09 01:21:53 -08:00
sem_trywait.c sched/semaphore: Move cancel point and errno handling to libc / user-space 2023-11-27 04:52:54 -08:00
sem_wait.c sched/semaphore: Move cancel point and errno handling to libc / user-space 2023-11-27 04:52:54 -08:00
sem_waitirq.c sched/addrenv.c: Implement re-entrancy for addrenv_select() 2023-04-25 14:33:19 +02:00
semaphore.h Revert "Assert if a thread attempts to post a semaphore incorrectly." 2023-04-11 17:01:14 +09:00
spinlock.c spinlock: Move the inclusion of stdatomic.h to source file 2023-11-19 20:22:50 +01:00