Module rtm

Source
Available on x86 or x86-64 only.
Expand description

Intel’s Restricted Transactional Memory (RTM).

This CPU feature is available on Intel Broadwell or later CPUs (and some Haswell).

The reference is Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2: Instruction Set Reference, A-Z.

Wikipedia provides a quick overview of the assembly instructions, and Intel’s programming considerations details what sorts of instructions within a transaction are likely to cause an abort.

Constants§

_XABORT_CAPACITYExperimental
Transaction abort due to the transaction using too much memory.
_XABORT_CONFLICTExperimental
Transaction abort due to a memory conflict with another thread.
_XABORT_DEBUGExperimental
Transaction abort due to a debug trap.
_XABORT_EXPLICITExperimental
Transaction explicitly aborted with xabort. The parameter passed to xabort is available with _xabort_code(status).
_XABORT_NESTEDExperimental
Transaction abort in a inner nested transaction.
_XABORT_RETRYExperimental
Transaction retry is possible.
_XBEGIN_STARTEDExperimental
Transaction successfully started.

Functions§

x86_xabort 🔒
x86_xbegin 🔒
x86_xend 🔒
x86_xtest 🔒
_xabortExperimentalrtm
Forces a restricted transactional memory (RTM) region to abort.
_xabort_codeExperimental
Retrieves the parameter passed to _xabort when _xbegin’s status has the _XABORT_EXPLICIT flag set.
_xbeginExperimentalrtm
Specifies the start of a restricted transactional memory (RTM) code region and returns a value indicating status.
_xendExperimentalrtm
Specifies the end of a restricted transactional memory (RTM) code region.
_xtestExperimentalrtm
Queries whether the processor is executing in a transactional region identified by restricted transactional memory (RTM) or hardware lock elision (HLE).