incubator-nuttx/sched/semaphore
hujun5 f7843e2198 sched:remove g_cpu_schedlock g_cpu_irqsetlock g_cpu_locksetlock
we can use g_cpu_lockset to determine whether we are currently in the scheduling lock,
and all accesses and modifications to g_cpu_lockset, g_cpu_irqlock, g_cpu_irqset
are in the critical section, so we can directly operate on it.

test:
We can use qemu for testing.

compiling
make distclean -j20; ./tools/configure.sh -l qemu-armv8a:nsh_smp ;make -j20
running
qemu-system-aarch64 -cpu cortex-a53 -smp 4 -nographic -machine virt,virtualization=on,gic-version=3 -net none -chardev stdio,id=con,mux=on -serial chardev:con -mon chardev=con,mode=readline -kernel ./nuttx

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-06-21 11:11:07 +09: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_reset.c
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
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 sched:remove g_cpu_schedlock g_cpu_irqsetlock g_cpu_locksetlock 2024-06-21 11:11:07 +09:00