jinliangli commented on issue #16107:
URL: https://github.com/apache/nuttx/issues/16107#issuecomment-2776167959

   > Hi [@jinliangli](https://github.com/jinliangli), I've recently started to 
use Raspberry's RP2350 with NuttX and in SMP configuration the `ostest` gets 
stuck during nested signals testing. It gets stuck in an endless loop inside a 
spinlock of `g_cpu_irqlock`. However when I change the CPU count to 1 but still 
using SMP this issue does not reproduce anymore. Does my problem look similar 
to the one you've found?
   
   The problem I described is that 
   1. after a low-priority task acquires a spinlock using spinlock_irqsave, it 
actively wakeup(e.g. sem_post) another high-priority task to compete for the 
lock already held by the low-priority task, which will lead to a deadlock. 
   2. After acquiring the spinlock, the low-priority task is preempted (Passive 
scheduling) by another high-priority task, and the high-priority task competes 
for the lock already held by the low-priority task, which will lead to a 
deadlock.
   
   Notice: spinlock should not be nested used. 
   Please file another issue if you can reproduce with ostest in latest master 
branch 
   
   


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