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

   ## Summary
   As our previous discussion, we should use a new API 
spin_lock_irqsave_nopreempt to handle the spin_lock with sched locked, and did 
not change the default behavior of original spin_lock_irqsave.
   
   Also for the drivers etc. those by design need recursive lock behavior, if 
we did not support recursive API call, have to use critical_section, that is 
not a good idea. critical_section should not be abused for this scene. 
   
   For drivers implement those possible recusive, native spinlock
   will cause deadlock directly, critial_section is use globally,
   will make lock parallel to serial, add API to keep recursive
   support but isolate each other.
   
   for example #16483
   
   ## Impact
   Only add API in .h, did not change or modify user usage.
   Able to call new API with spinlock & sched disabled with one call.
   Able to support drivers, etc, those want to use recursive spinlock, before 
this patch have to use critical_section.
   
   ## Testing
   CI-test, internal boards, qemu-armv7a:smp 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.

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