Skip to content
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

kernel: atomics: support for 64-bit atomic operations #39530

Closed
cfriedt opened this issue Oct 19, 2021 · 0 comments · Fixed by #39531
Closed

kernel: atomics: support for 64-bit atomic operations #39530

cfriedt opened this issue Oct 19, 2021 · 0 comments · Fixed by #39531
Assignees
Labels
area: Kernel Enhancement Changes/Updates/Additions to existing features

Comments

@cfriedt
Copy link
Member

cfriedt commented Oct 19, 2021

Is your enhancement proposal related to a problem? Please describe.
64-bit architectures need 64-bit atomic operations but currently Zephyr's atomics are limited to 32-bit only.

Describe the solution you'd like
We should add support for 64-bit atomics.

Describe alternatives you've considered
Not having 64-bit atomics.. but that's why I'm submitting this enhancement issue.

Additional context
32 additional bits per atomic_t (but only for 64-bit builds).

@cfriedt cfriedt added Enhancement Changes/Updates/Additions to existing features area: Kernel labels Oct 19, 2021
@cfriedt cfriedt self-assigned this Oct 19, 2021
@cfriedt cfriedt added the dev-review To be discussed in dev-review meeting label Oct 21, 2021
@cfriedt cfriedt removed the dev-review To be discussed in dev-review meeting label Oct 28, 2021
cfriedt added a commit to cfriedt/zephyr that referenced this issue Nov 14, 2021
With this change, `atomic_t` is 32-bit for 32-bit architectures
and 64-bit for 64-bit architectures. More specifically,
`sizeof(atomic_t) == sizeof(long)`.

Fixes zephyrproject-rtos#39530

Signed-off-by: Christopher Friedt <[email protected]>
nashif pushed a commit that referenced this issue Nov 15, 2021
With this change, `atomic_t` is 32-bit for 32-bit architectures
and 64-bit for 64-bit architectures. More specifically,
`sizeof(atomic_t) == sizeof(long)`.

Fixes #39530

Signed-off-by: Christopher Friedt <[email protected]>
cfriedt added a commit to cfriedt/zephyr that referenced this issue Jul 21, 2022
With this change, `atomic_t` is 32-bit for 32-bit architectures
and 64-bit for 64-bit architectures. More specifically,
`sizeof(atomic_t) == sizeof(long)`.

Fixes zephyrproject-rtos#39530

Signed-off-by: Christopher Friedt <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Kernel Enhancement Changes/Updates/Additions to existing features
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant