nuttx/sched
ligd 00121f9812 sched: delete check when pick nexttcb in readytorun list
CPU0                     CPU1
1. feed0 thread             feed1 thread
   (prio 1 affinity)        (prio 1 affinity)
2. nsh_main
   sched_lock()
3. waitpid()                hello_main
4. ------                   hello exit()
5. ------                   exit()->exit_wakeup()->wakeup nsh ->
                            add_readytorun()->
                            nsh at schedlock state set g_cpu_schedlock
6. -----                    exit()->nxtask_exit()->remove_readytorun()
                            -> check g_cpu_schedlock -> pick idle1
7. waitpid() return         idle thread
8. sched_unlock             idle thread

The error is in step 6:
pick a idle thread to execute not feed1 thread.

resolve:
remove the schedlocked-check in remove_readytorun()

Signed-off-by: ligd <liguiding1@xiaomi.com>
2023-11-24 12:43:54 +09:00
..
addrenv cmake:complete missing changes during cmake reforming for sched 2023-09-08 21:20:16 +03:00
clock adjtime: Rewrite implementation to work for RTC and tickless kernel 2023-11-14 19:47:40 -08:00
environ env_dup: fix issue about USE_AFTER_FREE 2023-10-26 00:11:14 +08:00
group sched/taskfiles: skip unnecessary file open/close operations to improve performance 2023-11-16 07:30:36 -08:00
init sched/taskfiles: skip unnecessary file open/close operations to improve performance 2023-11-16 07:30:36 -08:00
irq spinlock: implement read writer spinlock 2023-10-16 08:55:01 +08:00
misc task/pthread_cancelpt: Move cancel point handling to libc, data to TLS 2023-11-15 08:52:04 -08:00
module libs/libc: fix compile warning about modlib_depend when CONFIG_MODLIB_MAXDEPEND = 0 2023-10-26 01:53:38 +08:00
mqueue mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
paging build: add initial cmake build system 2023-07-08 13:50:48 +08:00
pthread task/pthread_cancelpt: Move cancel point handling to libc, data to TLS 2023-11-15 08:52:04 -08:00
sched sched: delete check when pick nexttcb in readytorun list 2023-11-24 12:43:54 +09:00
semaphore spinlock: Move the inclusion of stdatomic.h to source file 2023-11-19 20:22:50 +01:00
signal sigaction: Expand si_user for non-kernel signals 2023-11-22 08:00:43 -08:00
task task/pthread_cancelpt: Fix task_delete from another task group 2023-11-22 08:05:58 -08:00
timer Replace enter_critical_section with spin_irqsave 2023-10-21 11:00:07 +08:00
tls libc: add support for custom streams with fopencookie() 2023-10-18 21:13:01 +08:00
wdog clock: replace all up_perf_xx with perf_xx 2023-10-02 16:11:43 +02:00
wqueue clock: replace all up_perf_xx with perf_xx 2023-10-02 16:11:43 +02:00
CMakeLists.txt build: add initial cmake build system 2023-07-08 13:50:48 +08:00
Kconfig adjtime: Rewrite implementation to work for RTC and tickless kernel 2023-11-14 19:47:40 -08:00
Makefile group/group_addrenv: Move address environment from group -> tcb 2023-02-08 02:51:23 +08:00