Module rtm
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.
Functions
- _xabort Forces a restricted transactional memory (RTM) region to abort.
-
_xabort_code
Retrieves the parameter passed to
_xabortwhen_xbegin's status has the_XABORT_EXPLICITflag set. - _xbegin Specifies the start of a restricted transactional memory (RTM) code region and returns a value indicating status.
- _xend Specifies the end of a restricted transactional memory (RTM) code region.
- _xtest Queries whether the processor is executing in a transactional region identified by restricted transactional memory (RTM) or hardware lock elision (HLE).
- x86_xabort
- x86_xbegin
- x86_xend
- x86_xtest
Constants
- _XABORT_CAPACITY Transaction abort due to the transaction using too much memory.
- _XABORT_CONFLICT Transaction abort due to a memory conflict with another thread.
- _XABORT_DEBUG Transaction abort due to a debug trap.
-
_XABORT_EXPLICIT
Transaction explicitly aborted with xabort. The parameter passed to xabort is available with
_xabort_code(status). - _XABORT_NESTED Transaction abort in a inner nested transaction.
- _XABORT_RETRY Transaction retry is possible.
- _XBEGIN_STARTED Transaction successfully started.