incubator-nuttx/sched/semaphore
hujun5 e13d255345 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-09-24 22:07:00 +08:00
..
CMakeLists.txt sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
Make.defs sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_clockwait.c Revert "irq: add [enter|leave]_critical_section_nonirq" 2024-09-17 20:12:59 +08:00
sem_destroy.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_holder.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_initialize.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_post.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_protect.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_recover.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_reset.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_rw.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_setprotocol.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_tickwait.c Revert "irq: add [enter|leave]_critical_section_nonirq" 2024-09-17 20:12:59 +08:00
sem_timedwait.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_timeout.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_trywait.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sem_wait.c sched: add nxsched_remove_self 2024-09-24 22:07:00 +08:00
sem_waitirq.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
semaphore.h sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00