| #
8de731a6 |
| 27-Dec-2025 |
FUJITA Tomonori <fujita.tomonori@gmail.com> |
rust: helpers: Add i8/i16 atomic try_cmpxchg_relaxed helpers
Add i8/i16 atomic try_cmpxchg_relaxed helpers that call try_cmpxchg_relaxed() macro implementing atomic try_cmpxchg_relaxed using archite
rust: helpers: Add i8/i16 atomic try_cmpxchg_relaxed helpers
Add i8/i16 atomic try_cmpxchg_relaxed helpers that call try_cmpxchg_relaxed() macro implementing atomic try_cmpxchg_relaxed using architecture-specific instructions.
[boqun: Use try_cmpxchg_relaxed() instead of raw_try_cmpxchg_relaxed()]
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Link: https://patch.msgid.link/20251227115951.1424458-5-fujita.tomonori@gmail.com
show more ...
|
| #
b5992f07 |
| 27-Dec-2025 |
FUJITA Tomonori <fujita.tomonori@gmail.com> |
rust: helpers: Add i8/i16 atomic try_cmpxchg_release helpers
Add i8/i16 atomic try_cmpxchg_release helpers that call try_cmpxchg_release() macro implementing atomic try_cmpxchg_release using archite
rust: helpers: Add i8/i16 atomic try_cmpxchg_release helpers
Add i8/i16 atomic try_cmpxchg_release helpers that call try_cmpxchg_release() macro implementing atomic try_cmpxchg_release using architecture-specific instructions.
[boqun: Use try_cmpxchg_release() instead of raw_try_cmpxchg_release()]
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Link: https://patch.msgid.link/20251227115951.1424458-4-fujita.tomonori@gmail.com
show more ...
|
| #
fed6aaa3 |
| 27-Dec-2025 |
FUJITA Tomonori <fujita.tomonori@gmail.com> |
rust: helpers: Add i8/i16 atomic try_cmpxchg_acquire helpers
Add i8/i16 atomic try_cmpxchg_acquire helpers that call try_cmpxchg_acquire() macro implementing atomic try_cmpxchg_acquire using archite
rust: helpers: Add i8/i16 atomic try_cmpxchg_acquire helpers
Add i8/i16 atomic try_cmpxchg_acquire helpers that call try_cmpxchg_acquire() macro implementing atomic try_cmpxchg_acquire using architecture-specific instructions.
[boqun: Use try_cmpxchg_acquire() instead of raw_try_cmpxchg_acquire()]
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Link: https://patch.msgid.link/20251227115951.1424458-3-fujita.tomonori@gmail.com
show more ...
|
| #
164e4b56 |
| 27-Dec-2025 |
FUJITA Tomonori <fujita.tomonori@gmail.com> |
rust: helpers: Add i8/i16 atomic try_cmpxchg helpers
Add i8/i16 atomic try_cmpxchg helpers that call try_cmpxchg() macro implementing atomic try_cmpxchg using architecture-specific instructions.
[b
rust: helpers: Add i8/i16 atomic try_cmpxchg helpers
Add i8/i16 atomic try_cmpxchg helpers that call try_cmpxchg() macro implementing atomic try_cmpxchg using architecture-specific instructions.
[boqun: Add comments explaining CONFIG_ARCH_SUPPORTS_ATOMIC_RMW and use try_cmpxchg() instead of raw_try_cmpxchg()]
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Link: https://patch.msgid.link/20251227115951.1424458-2-fujita.tomonori@gmail.com
show more ...
|
| #
910cbddc |
| 23-Dec-2025 |
FUJITA Tomonori <fujita.tomonori@gmail.com> |
rust: helpers: Add i8/i16 atomic xchg_relaxed helpers
Add i8/i16 atomic xchg_relaxed helpers that call xchg_relaxed() macro implementing atomic xchg_relaxed using architecture-specific instructions.
rust: helpers: Add i8/i16 atomic xchg_relaxed helpers
Add i8/i16 atomic xchg_relaxed helpers that call xchg_relaxed() macro implementing atomic xchg_relaxed using architecture-specific instructions.
[boqun: Use xchg_relaxed() instead of raw_xchg_relaxed()]
Reviewed-by: Alice Ryhl <aliceryhl@google.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Link: https://patch.msgid.link/20251223062140.938325-5-fujita.tomonori@gmail.com
show more ...
|
| #
1bfca1e7 |
| 23-Dec-2025 |
FUJITA Tomonori <fujita.tomonori@gmail.com> |
rust: helpers: Add i8/i16 atomic xchg_release helpers
Add i8/i16 atomic xchg_release helpers that call xchg_release() macro implementing atomic xchg_release using architecture-specific instructions.
rust: helpers: Add i8/i16 atomic xchg_release helpers
Add i8/i16 atomic xchg_release helpers that call xchg_release() macro implementing atomic xchg_release using architecture-specific instructions.
[boqun: Use xchg_release() instead of raw_xchg_release()]
Reviewed-by: Alice Ryhl <aliceryhl@google.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Link: https://patch.msgid.link/20251223062140.938325-4-fujita.tomonori@gmail.com
show more ...
|
| #
ab717dd9 |
| 23-Dec-2025 |
FUJITA Tomonori <fujita.tomonori@gmail.com> |
rust: helpers: Add i8/i16 atomic xchg_acquire helpers
Add i8/i16 atomic xchg_acquire helpers that call xchg_acquire() macro implementing atomic xchg_acquire using architecture-specific instructions.
rust: helpers: Add i8/i16 atomic xchg_acquire helpers
Add i8/i16 atomic xchg_acquire helpers that call xchg_acquire() macro implementing atomic xchg_acquire using architecture-specific instructions.
[boqun: Use xchg_acquire() instead of raw_xchg_acquire()]
Reviewed-by: Alice Ryhl <aliceryhl@google.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Link: https://patch.msgid.link/20251223062140.938325-3-fujita.tomonori@gmail.com
show more ...
|
| #
5dbc0a69 |
| 23-Dec-2025 |
FUJITA Tomonori <fujita.tomonori@gmail.com> |
rust: helpers: Add i8/i16 atomic xchg helpers
Add i8/i16 atomic xchg helpers that call xchg() macro implementing atomic xchg using architecture-specific instructions.
[boqun: Use xchg() instead of
rust: helpers: Add i8/i16 atomic xchg helpers
Add i8/i16 atomic xchg helpers that call xchg() macro implementing atomic xchg using architecture-specific instructions.
[boqun: Use xchg() instead of raw_xchg()]
Reviewed-by: Alice Ryhl <aliceryhl@google.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Link: https://patch.msgid.link/20251223062140.938325-2-fujita.tomonori@gmail.com
show more ...
|
| #
300e53b3 |
| 11-Dec-2025 |
FUJITA Tomonori <fujita.tomonori@gmail.com> |
rust: helpers: Add i8/i16 relaxed atomic helpers
Add READ_ONCE/WRITE_ONCE based helpers for i8 and i16 types to support relaxed atomic operations in Rust.
While relaxed operations could be implemen
rust: helpers: Add i8/i16 relaxed atomic helpers
Add READ_ONCE/WRITE_ONCE based helpers for i8 and i16 types to support relaxed atomic operations in Rust.
While relaxed operations could be implemented purely in Rust using read_volatile() and write_volatile(), using C's READ_ONCE() and WRITE_ONCE() macros ensures complete consistency with the kernel memory model.
These helpers expose different symbol names than their C counterparts so they are split into atomic_ext.c instead of atomic.c. The symbol names; the names make the interface Rust/C clear, consistent with i32/i64.
[boqun: Rename the functions from {load,store} to {read,set} to avoid future adjustment]
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Reviewed-by: Joel Fernandes <joelagnelf@nvidia.com> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Link: https://patch.msgid.link/20251211113826.1299077-3-fujita.tomonori@gmail.com
show more ...
|
| #
2cc3d5d6 |
| 11-Dec-2025 |
FUJITA Tomonori <fujita.tomonori@gmail.com> |
rust: helpers: Add i8/i16 atomic_read_acquire/atomic_set_release helpers
Add helper functions to expose smp_load_acquire() and smp_store_release() for i8 and i16 types.
The smp_load_acquire() and s
rust: helpers: Add i8/i16 atomic_read_acquire/atomic_set_release helpers
Add helper functions to expose smp_load_acquire() and smp_store_release() for i8 and i16 types.
The smp_load_acquire() and smp_store_release() macros require type information (sizeof) to generate appropriate architecture-specific memory ordering instructions. Therefore, separate helper functions are needed for each type size.
These helpers expose different symbol names than their C counterparts so they are split into atomic_ext.c instead of atomic.c. The symbol names; atomic_[i8|i16]_read_acquire and atomic_[i8|i16]_set_release makes the interface Rust/C clear, consistent with i32/i64.
These helpers will be used by the upcoming Atomic<i8> and Atomic<i16> implementation to provide proper Acquire/Release semantics across all architectures.
[boqun: Rename the functions from {load,store} to {read,set} to avoid future adjustment]
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Reviewed-by: Gary Guo <gary@garyguo.net> Reviewed-by: Joel Fernandes <joelagnelf@nvidia.com> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Link: https://patch.msgid.link/20251211113826.1299077-2-fujita.tomonori@gmail.com
show more ...
|