[$] Protecting control dependencies with volatile_if()
Memory ordering issues are, as Linus Torvalds recentlyobserved, "the rocket science of CS". Understandingmemory ordering is increasingly necessary to write scalable code, so kerneldevelopers often find themselves having to become rocket scientists. Thesubtleties associated with control dependencies turn out to be anespecially tricky sort of rocket. A recent discussion about how to forcecontrol dependencies to be observed shows the sorts of difficulties thatarise in this area.