“David Howells posted a document on memory barriers on the Linux
Kernel mailing list. Memory barriers are a way of ordering IO
accesses to devices from the kernel. His document has undergone a
lot of revisions based on the feedback he’s received from the
developers of the Linux kernel. Excerpt:“‘… independent memory operations are effectively performed in
random order, but this can be a problem for CPU-CPU interaction and
for I/O. What is required is some way of intervening to instruct
the compiler and the CPU to restrict the order…'”