-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libc/atomic: decoupling atomic and spinlock to avoid recursion #14198
Conversation
[Experimental Bot, please feedback here] NuttX PR Requirements ReviewMeets Requirements? Partially Breakdown:
Recommendation: Do not submit this PR in its current state. Address the missing information:
|
1. use irq save in AMP mode 2. use critical section in SMP mode Signed-off-by: chao an <[email protected]>
* Private Data | ||
****************************************************************************/ | ||
|
||
#ifdef CONFIG_SMP |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hardware must support atomic operation in SMP, so we.don't.need this.codd.block
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but some architectures may not fully support all atomic operations, eg: -march=armv7e-m does not support atomic8(64 bit) OpenAMP/libmetal#301
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK
Summary
libc/atomic: decoupling atomic and spinlock to avoid recursion
Impact
N/A
Testing
gcc14 with sim/smp