tlds
Transactional Operations for Linked Data Structures
|
Functions | |
TM_FASTCALL uint32_t | pol_ER () |
TM_FASTCALL uint32_t | pol_E () |
TM_FASTCALL uint32_t | pol_R () |
TM_FASTCALL uint32_t | pol_X () |
Here we define the static adaptivity policies. These do not use profiles, so they are very simple.
NB: these are interesting from a historical perspective, in that they were part of [Spear SPAA 2011]. However, subsequent work has shown that adapting on the basis of pathology avoidance (e.g., consecutive aborts) is not a good strategy on its own, because of the possibility of Toxic Transactions [Liu Transact 2011].
TM_FASTCALL uint32_t anonymous_namespace{static.cpp}::pol_E | ( | ) |
This policy is suitable for workloads that need ELA semantics, but that don't need self-abort.
TM_FASTCALL uint32_t anonymous_namespace{static.cpp}::pol_ER | ( | ) |
This policy is suitable for workloads that need ELA semantics and support for self-abort.
TM_FASTCALL uint32_t anonymous_namespace{static.cpp}::pol_R | ( | ) |
This policy is suitable for workloads that don't need strong semantics but do need self-abort.
TM_FASTCALL uint32_t anonymous_namespace{static.cpp}::pol_X | ( | ) |
This policy is suitable for workloads that don't need strong semantics and also don't need support for self-abort.