On Thu, 2012-02-09 at 15:05 -0800, Richard Henderson wrote: > + /* The beginning of a transaction is a memory barrier. > */ > + /* ??? If we were really cool, we'd only be a barrier > + for the memories touched within the transaction. */
Why? I'm not quite sure what kind of memory barrier you mean here, but a transaction can synchronize with other transactions and thus should be a barrier for all memory accesses, or not? We could move safe code into it, but not out of it or across it. We could perhaps move transaction_pure code across it, or out of it, IIRC. Torvald