GUIDINGLI opened a new pull request, #11226:
URL: https://github.com/apache/nuttx/pull/11226
## Summary
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()
## Impact
SMP scheduler
## Testing
BES SMP board
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]