Readings of the day

https://www.kernel.org/doc/Documentation/memory-barriers.txt
https://en.cppreference.com/w/cpp/atomic/memory_order

 I always found memory order difficult to understand.

 I seen it before while working with C++, since in a previous job I used to
 maintain a multi-threaded C++ daemon.

 I stumbled into memory order while writing a device driver.  The device
 driver is not designed as a multi-threaded application, but so it happens
 that the controlled device works independently, and its behaviour might
 effectively be affected by the re-ordering of instructions, operated by the
 processor or by the compiler.

 I've been pointed to the kernel documentation above, which is a very good
 complement to what explained on cppreference.com.  As a matter of fact, it
 allowed me to actually understand how the different memory barriers work.