Nine ways to break your systems code using volatile (2010) https://blog.regehr.org/archives/28 https://news.ycombinator.com/item?id=37785706