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-11-22 08:05:58 -08:00
2023-11-22 08:05:58 -08:00
2022-09-28 18:08:37 +08:00
2022-12-15 09:44:32 +08:00
2022-12-15 09:44:32 +08:00
2022-10-11 00:01:35 +02:00
2023-11-01 09:27:56 +08:00
2023-11-01 09:27:56 +08:00
2023-11-01 09:27:56 +08:00
2022-10-31 17:53:08 +09:00
2023-10-02 16:11:43 +02:00
2023-08-29 10:36:21 +08:00
2023-03-09 16:27:07 -03:00
2023-04-25 14:33:19 +02:00
2023-11-22 08:05:58 -08:00
2023-04-27 17:35:58 +08:00
2023-01-04 00:21:18 +02:00
2023-06-19 10:51:23 +02:00
2023-10-06 20:03:19 -04:00
2023-04-19 02:43:55 +08:00
2022-09-30 17:54:56 +02:00
2023-08-04 10:58:54 -07:00
2023-11-01 09:27:56 +08:00
2022-09-28 18:08:37 +08:00
2023-11-24 12:43:54 +09:00
2022-10-03 15:14:24 -03:00
2022-11-22 15:29:00 +09:00
2022-09-17 17:37:47 +09:00
2023-02-01 23:47:44 +08:00
2023-04-27 00:40:20 +08:00
2023-02-02 10:33:01 +08:00
2023-10-18 21:12:35 +08:00
2023-08-30 14:34:20 +08:00
2022-11-22 22:59:08 +08:00
2023-11-01 09:27:56 +08:00
2023-08-21 13:20:56 +08:00
2023-10-06 20:03:19 -04:00
2022-10-28 21:19:46 +02:00
2022-10-28 21:19:46 +02:00
2023-09-08 00:53:56 +03:00
2023-11-22 08:05:58 -08:00