I'm not confident about the 2008-present effects of QE, but I think it's more likely to affect stock and bond prices than Baby Boomers retiring.
The announcement of the most recent round of QE is one of the "policy shocks" of the kind referred to by the 2014 Fed paper. Prior to the announcement, Apple, S&P 500, and bond funds were at 1-year lows. This month they are at all time highs.
No! A flawed patch is not the equivalent of "taking a dump" in someone's yard. Proposing a flawed patch is not a contemptuous act, it's not insulting, and it is not injurious. Treating it as such is the problem.
Telling someone they "should not be anywhere near Linux kernel development" and to "just go away" is degrading and contemptuous.
> It is now widely recognized that this attempt to define the semantics of data races has failed, and the Java memory model is broken (I’m citing Hans Boehm here).
This is a bit misleading. C++ also ended up defining the semantics of data races with memory_order_relaxed. In the standard they are not called "data races", but they correspond closely to what Boehm calls Java "giving some semantics to data races". C++ relaxed atomics also have the same issues with causality.
> Weak atomics give you the same kind of performance as benign data races but they have well defined semantics.
This is mostly true, but not at the limits. GCC, clang, MSCVC, and icc tend to be pretty conservative in how they treat relaxed atomics. For example, on x86 they tend not to generate the reg+mem form and instead generate an explicit `mov` instruction (https://gcc.godbolt.org/z/K135Mo). This requires extra resources for instruction fetch & decoding and uses an extra named register (potentially causing spills to the stack).
> Traditional “benign” races are likely to be broken by optimizing compilers or on tricky architectures.
This is true, but the sad thing is that the implementation of the C++ memory model is sometimes broken too. GCC had lots of real bugs up through about GCC 4.9 (I think...). And then there's http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p066... -- "Existing implementation schemes on Power and ARM are not correct" (2017)
It seems reasonable to reject the patch for technical and legal reasons, but it's pretty disappointing to see toxic comments from prominent kernel developers like:
> "Seriously? If you only even considered this is something reasonable to do you should not be anywhere near Linux kernel development. Just go away!"
https://www.youtube.com/watch?v=wqrJ_OY8byY