Re: [PATCH v2] rust: page: add byte-wise atomic memory copy methods
From: Peter Zijlstra
Date: Tue Feb 17 2026 - 04:18:03 EST
On Fri, Feb 13, 2026 at 07:45:19AM -0800, Boqun Feng wrote:
> > > Suppose the memory was 'AAAA' and while you're reading it, it is written
> > > to be 'BBBB'. The resulting copy can be any combination of
> > > '[AB][AB][AB][AB]'. Not one of them is better than the other.
> > >
>
> The idea is if using Rust's own `core::ptr::copy()` or
> `core::ptr::copy_nonoverlapping()`, you may get `CCCC`, because they are
> not semantically guaranteed atomic per byte (i.e. tearing can happen at
> bit level, because they are not designed for using in case of data
> races, and there is no defined asm implementation of them, compilers can
> do anything).
How the heck would they do out-of-thin-air? Any memcpy() implementation
that can cause that is insane and broken.
Compilers are broken crap if they do this.