26 pointsby todsacerdoti7 days ago2 comments
  • kccqzy5 days ago
    This needs (2011).

    If I remember correctly this report is written in the context of standardizing new features in C++11 related to synchronization, threads, and the memory model.

  • swagmoney16065 days ago
    >Perhaps most surprisingly, this includes even the case of potentially concurrent writes of the same value by different threads.

    Can someone explain to me how this is possible?

    • iracigt4 days ago
      Section 2.4 gives a concrete example, though there are some asterisks. The example is one where a compiler rewrites something like `while (...) x++;` to put `x` in a register: `int reg = x; while (...) reg++; x = reg`. The author reports this is an optimization GCC was observed doing, and means you can have a read-writeback even when the while condition is false to begin with. If this optimization appears interleaved with identical writes then you have problems.
    • kccqzy5 days ago
      Go read section 2.4.