nuttx/sched/mqueue
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
mq_getattr.c
mq_initialize.c
mq_msgfree.c
mq_msgqalloc.c
mq_msgqfree.c
mq_notify.c
mq_rcvinternal.c sched: add nxsched_remove_self 2024-10-09 18:19:13 +08:00
mq_receive.c Revert "irq: add [enter|leave]_critical_section_nonirq" 2024-09-17 20:12:59 +08:00
mq_recover.c
mq_send.c
mq_setattr.c
mq_sndinternal.c sched: add nxsched_remove_self 2024-10-09 18:19:13 +08:00
mq_timedreceive.c Revert "irq: add [enter|leave]_critical_section_nonirq" 2024-09-17 20:12:59 +08:00
mq_timedsend.c
mq_waitirq.c
mqueue.h
msg.h
msgctl.c
msgget.c
msginternal.c
msgrcv.c sched: add nxsched_remove_self 2024-10-09 18:19:13 +08:00
msgsnd.c sched: add nxsched_remove_self 2024-10-09 18:19:13 +08:00