Linux Assemblycollection of fast libraries

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

InstructionMeaning
XACQUIREPrefix hint to the beginning of an HLE transaction region
XRELEASEPrefix hint to the end of an HLE transaction region
XBEGINTransaction begin of an RTM transaction region
XENDTransaction end of an RTM transaction region
XABORTAbort an RTM transaction execution
XTESTTest if executing in a transactional region
Copyright 2012-2018 Jack Black. All rights reserved.