Hi,
> 8.3.5RTM Abort Status Definition
Feedback and introspection seem to be critical for such systems; is it possible to get to know as to whether the abort was caused by a bad instruction (can't be executed in transactions at all, can't be executed in transactions on this particular processor) or by a memory protection fault (access to NULL), etc? It also would be useful to obtain PC and ADDR associated with abort.
> 8.3.6RTM Memory Ordering
>A successful RTM commit causes all memory operations in the RTM region to appear
>to execute atomically. A successfully committed RTM region consisting of an XBEGIN
>followed by an XEND, even with no memory operations in the RTM region, has the
>same ordering semantics as a LOCK prefixed instruction.
I am curious what is the rationale behind that. Does it mean that that adds several dozens of cycles to each trx? If I need MFENCE I can put it after a trx manually.
What are approximate sizes of read/write sets? Are we talking about like 4 cache lines? Or 128 cache lines? That critically affects what can be implemenmted with TSX.
TIA