nuttx/sched/signal
hujun5 ddf1410312 sched/signal: There is no need to use sched_[un]lock
purpose:
1 sched_lock is very time-consuming, and reducing its invocations can improve performance.
2 sched_lock is prone to misuse, and narrowing its scope of use is to prevent people from referencing incorrect code and using 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

We have also tested this patch on other ARM hardware platforms.
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-06-27 11:51:16 +08:00
..
CMakeLists.txt cmake:complete missing changes during cmake reforming for sched 2023-09-08 21:20:16 +03:00
Make.defs
sig_action.c sched/signal: reclaim dynamic sigactions 2024-06-21 22:45:52 +08:00
sig_allocpendingsigaction.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
sig_cleanup.c Increase the number of real time signals. Two is not enough. 2023-03-27 16:59:04 +03:00
sig_default.c signal: SIGCONT can be caught 2023-07-12 21:27:06 +08:00
sig_deliver.c Signal must be masked when it is delivered to a signal handler 2023-05-18 01:19:12 +08:00
sig_dispatch.c sched/signal: add sanity check for siginfo 2024-03-26 20:55:04 +08:00
sig_findaction.c
sig_initialize.c sched/signal: move signal structures pool to bss 2024-06-04 14:26:55 +08:00
sig_kill.c sched/signal: There is no need to use sched_[un]lock 2024-06-27 11:51:16 +08:00
sig_lowest.c
sig_nanosleep.c sched: Check for zero sleep time and yield CPU if 2023-11-07 18:26:54 +08:00
sig_notification.c signal: use work_cancel_sync() to fix used after free 2023-09-19 15:52:48 +08:00
sig_pause.c
sig_pending.c Increase the number of real time signals. Two is not enough. 2023-03-27 16:59:04 +03:00
sig_ppoll.c Increase the number of real time signals. Two is not enough. 2023-03-27 16:59:04 +03:00
sig_procmask.c sched/signal: There is no need to use sched_[un]lock 2024-06-27 11:51:16 +08:00
sig_pselect.c Increase the number of real time signals. Two is not enough. 2023-03-27 16:59:04 +03:00
sig_queue.c sched/signal: There is no need to use sched_[un]lock 2024-06-27 11:51:16 +08:00
sig_releasependingsigaction.c
sig_releasependingsignal.c
sig_removependingsignal.c
sig_sleep.c
sig_suspend.c sched/tasklist: replace task status list with macro definition 2024-03-21 11:23:46 +09:00
sig_tgkill.c sched/signal: There is no need to use sched_[un]lock 2024-06-27 11:51:16 +08:00
sig_timedwait.c sched/signal: add sanity check for siginfo 2024-03-26 20:55:04 +08:00
sig_unmaskpendingsignal.c Increase the number of real time signals. Two is not enough. 2023-03-27 16:59:04 +03:00
sig_usleep.c
sig_waitinfo.c
signal.h sched/signal: reclaim dynamic sigactions 2024-06-21 22:45:52 +08:00