<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/rust/helpers/atomic_ext.c, branch v7.0-rc7</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v7.0-rc7</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v7.0-rc7'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-01-09T11:01:41+00:00</updated>
<entry>
<title>rust: helpers: Add i8/i16 atomic try_cmpxchg_relaxed helpers</title>
<updated>2026-01-09T11:01:41+00:00</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@gmail.com</email>
</author>
<published>2025-12-27T11:59:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8de731a6c75547602601a5d219b5cf259ce2b38b'/>
<id>urn:sha1:8de731a6c75547602601a5d219b5cf259ce2b38b</id>
<content type='text'>
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 &lt;fujita.tomonori@gmail.com&gt;
Signed-off-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;
Link: https://patch.msgid.link/20251227115951.1424458-5-fujita.tomonori@gmail.com
</content>
</entry>
<entry>
<title>rust: helpers: Add i8/i16 atomic try_cmpxchg_release helpers</title>
<updated>2026-01-09T11:01:41+00:00</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@gmail.com</email>
</author>
<published>2025-12-27T11:59:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b5992f07a9736ab6279181c848f42227af9945bf'/>
<id>urn:sha1:b5992f07a9736ab6279181c848f42227af9945bf</id>
<content type='text'>
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 &lt;fujita.tomonori@gmail.com&gt;
Signed-off-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;
Link: https://patch.msgid.link/20251227115951.1424458-4-fujita.tomonori@gmail.com
</content>
</entry>
<entry>
<title>rust: helpers: Add i8/i16 atomic try_cmpxchg_acquire helpers</title>
<updated>2026-01-09T11:01:41+00:00</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@gmail.com</email>
</author>
<published>2025-12-27T11:59:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fed6aaa392c301721144303d64b7c68575d9d5ef'/>
<id>urn:sha1:fed6aaa392c301721144303d64b7c68575d9d5ef</id>
<content type='text'>
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 &lt;fujita.tomonori@gmail.com&gt;
Signed-off-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;
Link: https://patch.msgid.link/20251227115951.1424458-3-fujita.tomonori@gmail.com
</content>
</entry>
<entry>
<title>rust: helpers: Add i8/i16 atomic try_cmpxchg helpers</title>
<updated>2026-01-09T11:01:41+00:00</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@gmail.com</email>
</author>
<published>2025-12-27T11:59:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=164e4b5600b32b4ddeac58bb5b37bc1490a1dce4'/>
<id>urn:sha1:164e4b5600b32b4ddeac58bb5b37bc1490a1dce4</id>
<content type='text'>
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 &lt;fujita.tomonori@gmail.com&gt;
Signed-off-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;
Link: https://patch.msgid.link/20251227115951.1424458-2-fujita.tomonori@gmail.com
</content>
</entry>
<entry>
<title>rust: helpers: Add i8/i16 atomic xchg_relaxed helpers</title>
<updated>2026-01-09T11:01:41+00:00</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@gmail.com</email>
</author>
<published>2025-12-23T06:21:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=910cbddc416cc30d83966baf378f44e59f3dc5d7'/>
<id>urn:sha1:910cbddc416cc30d83966baf378f44e59f3dc5d7</id>
<content type='text'>
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 &lt;aliceryhl@google.com&gt;
Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@gmail.com&gt;
Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;
Signed-off-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;
Link: https://patch.msgid.link/20251223062140.938325-5-fujita.tomonori@gmail.com
</content>
</entry>
<entry>
<title>rust: helpers: Add i8/i16 atomic xchg_release helpers</title>
<updated>2026-01-09T11:01:40+00:00</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@gmail.com</email>
</author>
<published>2025-12-23T06:21:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1bfca1e7e845a55fa82046727666f713d24ebdad'/>
<id>urn:sha1:1bfca1e7e845a55fa82046727666f713d24ebdad</id>
<content type='text'>
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 &lt;aliceryhl@google.com&gt;
Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@gmail.com&gt;
Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;
Signed-off-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;
Link: https://patch.msgid.link/20251223062140.938325-4-fujita.tomonori@gmail.com
</content>
</entry>
<entry>
<title>rust: helpers: Add i8/i16 atomic xchg_acquire helpers</title>
<updated>2026-01-09T11:01:40+00:00</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@gmail.com</email>
</author>
<published>2025-12-23T06:21:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ab717dd98bee964add2161d94193d756fdef614c'/>
<id>urn:sha1:ab717dd98bee964add2161d94193d756fdef614c</id>
<content type='text'>
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 &lt;aliceryhl@google.com&gt;
Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@gmail.com&gt;
Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;
Signed-off-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;
Link: https://patch.msgid.link/20251223062140.938325-3-fujita.tomonori@gmail.com
</content>
</entry>
<entry>
<title>rust: helpers: Add i8/i16 atomic xchg helpers</title>
<updated>2026-01-09T11:01:40+00:00</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@gmail.com</email>
</author>
<published>2025-12-23T06:21:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5dbc0a692459bc49cdb7add281086291da547750'/>
<id>urn:sha1:5dbc0a692459bc49cdb7add281086291da547750</id>
<content type='text'>
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 &lt;aliceryhl@google.com&gt;
Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@gmail.com&gt;
Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;
Signed-off-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;
Link: https://patch.msgid.link/20251223062140.938325-2-fujita.tomonori@gmail.com
</content>
</entry>
<entry>
<title>rust: helpers: Add i8/i16 relaxed atomic helpers</title>
<updated>2026-01-09T11:01:40+00:00</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@gmail.com</email>
</author>
<published>2025-12-11T11:38:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=300e53b3d3b59e72a972a12ee5c6438aab4860a4'/>
<id>urn:sha1:300e53b3d3b59e72a972a12ee5c6438aab4860a4</id>
<content type='text'>
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 &lt;fujita.tomonori@gmail.com&gt;
Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;
Reviewed-by: Joel Fernandes &lt;joelagnelf@nvidia.com&gt;
Signed-off-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;
Link: https://patch.msgid.link/20251211113826.1299077-3-fujita.tomonori@gmail.com
</content>
</entry>
<entry>
<title>rust: helpers: Add i8/i16 atomic_read_acquire/atomic_set_release helpers</title>
<updated>2026-01-09T11:01:40+00:00</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@gmail.com</email>
</author>
<published>2025-12-11T11:38:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2cc3d5d6adbee058858f2e66de701a203b032746'/>
<id>urn:sha1:2cc3d5d6adbee058858f2e66de701a203b032746</id>
<content type='text'>
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&lt;i8&gt; and Atomic&lt;i16&gt;
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 &lt;fujita.tomonori@gmail.com&gt;
Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;
Reviewed-by: Joel Fernandes &lt;joelagnelf@nvidia.com&gt;
Signed-off-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;
Link: https://patch.msgid.link/20251211113826.1299077-2-fujita.tomonori@gmail.com
</content>
</entry>
</feed>
