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


   ## Summary
   
   - This PR consists of 6commits
   - commit 1: arch: cxd56xx: Fix the pause handler for SMP
     - I noticed that sched_add_readytorun() runs on multiple CPUs 
simultaneously
     - Finally, I found the root cause which was described in TODO
     - Actually, the task newly scheduled on remote CPU did not acquire 
g_cpu_irqlock
     - This commit fixes this issue by adding a critical section to the pause 
handler
     - Which will acquire g_cpu_irqlock on the remote CPU explicitly
   - commit 2: arch: armv7-a: Fix the pause handler for SMP
     - Apply the same logic added to cxd56_cpupause.c
   - commit 3: arch: lc823450: Fix the pause handler for SMP
     - Apply the same logic added to cxd56_cpupause.c
   - commit 4: arch: k210: Fix the pause handler for SMP
     - Apply the same logic added to cxd56_cpupause.c
   - commit 5: arch: xtensa: Fix the pause handler for SMP
     - Apply the same logic added to cxd56_cpupause.c
   - commit 6: Update TODO regarding SMP
     - 'POSSIBLE FOR TWO CPUs TO HOLD A CRITICAL SECTION' was resolved
   
   ## Impact
   
   - SMP only
   
   ## Testing
   
   - Tested with spresense:wifi_smp (NCPUS=2 and 4)
    - Run smp, ostest, nxplayer
   - Tested with sabre-6quad:smp (QEMU and dev board)
    - Run smp and ostest
   - Tested with lc823450-xgevk:rndis
    - Run smp and ostest
   - Tested with maix-bit:smp (QEMU)
    - Run smp and ostest
   - Tested with esp32-core:smp (QEMU)
    - Run smp and ostest
   


----------------------------------------------------------------
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:
[email protected]


Reply via email to