jlaitine opened a new pull request, #16673:
URL: https://github.com/apache/nuttx/pull/16673

   ## Summary
   
   This fixes scheduling issues found in both code review and testing. The main 
issues started with nxsched_addreadytorun putting tasks to the pending list on 
wrong basis; basically checking if the current CPU was executing in sched lock, 
when it was supposed to check that the selected CPU was executing a task in 
sched lock.
   
   The other changes in this PR are related to the same issue, in different 
places of the code, checking scheduler locked on the wrong task/cpu.
   
   On some of our platforms (arm64 smp 2 cores CONFIG_BUILD_KERNEL) this led to 
erroneous function, when sometimes at boot the NSH executing the boot script 
ended up into pending list, and no-one ever picked it back from there.
   
   These issues have appeared already in 
https://github.com/apache/nuttx/commit/b4cc9fb11b7f51245f2f4a0c3ebb4a665205b320#diff-0ccba5c8654b46ae886ab122000258cad1ee91099ed0d0bf225731df6ff06426
 , where the operation of the sched lock was changed.
   
   ## Impact
   
   Impacts all SMP targets
   
   ## Testing
   
   Tested on real application on custom hardwares on:
   MPFS (risc-v 64) single core, CONFIG_BUILD_FLAT
   IMX93 (arm64) single core, CONFIG_BUILD_FLAT
   MPFS SMP 4 cores, CONFIG_BUILD_FLAT
   MPFS SMP 4 cores, CONFIG_BUILD_KERNEL
   IMX93 SMP 2 cores, CONFIG_BUILD_FLAT
   IMX93 SMP 2 cores, CONFIG_BUILD_KERNEL
   
   Tested on ostest on:
   rv-virt:smp
   rv-virt:smp64
   modified rv-virt:smp64, "CONFIG_PRIORITY_INHERITANCE=y" added to config
   
   Long period reliability testing is still ongoing on real hw.
   


-- 
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: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to