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