Examining ARM vs. x86 Memory Models with Rust
> The x86 processor was able to run the test successfully all 10,000 times, but the ARM processor failed on the 35th attempt.I think this issue might prove a problem in the long tail of desktop and server software running on ARM.A lot of desktop and server applications try to take advantage of all the cores. Many times, they are using libraries that were either implemented prior to C and C++ having defined memory models or else without that much care for memory model as long as it ran without issues on the developer computer (x86) and server (x86). Going to ARM is going to expose a lot of these bugs as developers recompile their code for ARM without making sure that their code actually adheres to the C/C++ memory models.