nuttx/sched/semaphore
hujun5 5f6eb292a8 sched: add nxsched_remove_self
reason:
1In the scenario of active waiting, context switching is inevitable, and we can eliminate redundant judgments.

code size
before
hujun5@hujun5-OptiPlex-7070:~/downloads1/vela_sim/nuttx$ size nuttx
   text    data     bss     dec     hex filename
 262848   49985   63893  376726   5bf96 nuttx

after
hujun5@hujun5-OptiPlex-7070:~/downloads1/vela_sim/nuttx$ size nuttx
   text    data     bss     dec     hex filename
 263324   49985   63893  377202   5c172 nuttx

reduce code size by  -476

Configuring NuttX and compile:
$ ./tools/configure.sh -l qemu-armv8a:nsh_smp
$ make
Running with qemu
$ 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-10-09 18:19:13 +08:00
..
CMakeLists.txt
Make.defs
sem_clockwait.c
sem_destroy.c
sem_holder.c
sem_initialize.c
sem_post.c
sem_protect.c
sem_recover.c
sem_reset.c
sem_rw.c
sem_setprotocol.c
sem_tickwait.c
sem_timedwait.c
sem_timeout.c
sem_trywait.c
sem_wait.c sched: add nxsched_remove_self 2024-10-09 18:19:13 +08:00
sem_waitirq.c
semaphore.h