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]

Reply via email to