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
..
2023-09-08 21:20:16 +03:00
2023-11-14 19:47:40 -08:00
2023-10-26 00:11:14 +08:00
2023-11-16 07:30:36 -08:00
2023-11-16 07:30:36 -08:00
2023-10-16 08:55:01 +08:00
2023-11-15 08:52:04 -08:00
2023-10-26 01:53:38 +08:00
2023-08-30 14:34:20 +08:00
2023-07-08 13:50:48 +08:00
2023-11-15 08:52:04 -08:00
2023-11-24 12:43:54 +09:00
2023-11-19 20:22:50 +01:00
2023-11-22 08:00:43 -08:00
2023-11-22 08:05:58 -08:00
2023-10-21 11:00:07 +08:00
2023-10-18 21:13:01 +08:00
2023-10-02 16:11:43 +02:00
2023-10-02 16:11:43 +02:00
2023-07-08 13:50:48 +08:00
2023-11-14 19:47:40 -08:00
2023-02-08 02:51:23 +08:00