Transactional Synchronization Extensions (TSX) instructions set
Transactional Synchronization Extensions (TSX) allow the processor to determine dynamically whether threads need to serialize through lock-protected critical sections, and to perform serialization only when required. This lets the hardware expose and exploit concurrency hidden in an application due to dynamically unnecessary synchronization through a technique known as lock elision.
With lock elision, the hardware executes the programmer-specified critical sections (also referred to as transactional regions) transactionally. In such an execution, the lock variable is only read within the transactional region; it is not written to (and therefore not acquired) with the expectation that the lock variable remains unchanged after the transactional region, thus exposing concurrency.
Tip: For detailed information about each instruction please read: Intel Architectures Software Developer’s Manual Volume 2: Instruction Set Reference, A-Z
|XACQUIRE||Prefix hint to the beginning of an HLE transaction region|
|XRELEASE||Prefix hint to the end of an HLE transaction region|
|XBEGIN||Transaction begin of an RTM transaction region|
|XEND||Transaction end of an RTM transaction region|
|XABORT||Abort an RTM transaction execution|
|XTEST||Test if executing in a transactional region|