You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2020/12/22 02:25:55 UTC

[GitHub] [incubator-nuttx] masayuki2009 opened a new pull request #2580: arch & sched: task: Fix up_exit() and nxtask_exit() for SMP

masayuki2009 opened a new pull request #2580:
URL: https://github.com/apache/incubator-nuttx/pull/2580


   ## Summary
   
   - During repeating ostest with sabre-6quad:smp (QEMU),
     I noticed that pthread_rwlock_test sometimes stops
   - Finally, I found that nxtask_exit() released a critical
     section too early before context switching which resulted in
     selecting inappropriate TCB
   - This commit fixes this issue by moving nxsched_resume_scheduler()
     from nxtask_exit() to up_exit() and also removing
     spin_setbit() and spin_clrbit() from nxtask_exit()
     because the caller holds a critical section
   - To be consistent with non-SMP cases, the above changes
     were done for all CPU architectures
   
   ## Impact
   
   - This commit affects all CPU architectures regardless of SMP
   
   ## Testing
   
   - Tested with ostest with the following configs
   - sabre-6quad:smp (QEMU, dev board), sabre-6quad:nsh (QEMU)
   - spresense:wifi_smp
   - sim:smp, sim:ostest
   - maix-bit:smp (QEMU)
   - esp32-devkitc:smp (QEMU)
   - lc823450-xgevk:rndis
   


----------------------------------------------------------------
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.

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



[GitHub] [incubator-nuttx] xiaoxiang781216 merged pull request #2580: arch & sched: task: Fix up_exit() and nxtask_exit() for SMP

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 merged pull request #2580:
URL: https://github.com/apache/incubator-nuttx/pull/2580


   


----------------------------------------------------------------
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.

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