Hi Colin,
While studying the Rust memory model and as sidestep read-copy-update I stumbled upon your crate.
It does show remarkable performance compared to some other shared state techniques I had a stab at.
What I can't seem to get my head around is why this load would safely allow Relaxed ordering?
|
unsafe { &*self.0.load(Ordering::Relaxed) } |
All documentation I consult on the C++20 memory model seems to indicate that a
Release store requires an
Acquire associated load to achieve (platform independent) memory safety?
Am I missing something?
Hi Colin,
While studying the Rust memory model and as sidestep read-copy-update I stumbled upon your crate.
It does show remarkable performance compared to some other shared state techniques I had a stab at.
What I can't seem to get my head around is why this load would safely allow
Relaxedordering?read-copy-update/src/lib.rs
Line 241 in fadcb69
All documentation I consult on the C++20 memory model seems to indicate that a
Releasestore requires anAcquireassociated load to achieve (platform independent) memory safety?Am I missing something?