tlds
Transactional Operations for Linked Data Structures
|
Functions | |
void | adjust_thresholds (uint32_t new_alg, uint32_t old_alg) |
void | collect_profiles (TxThread *tx) |
void | change_algorithm (TxThread *tx, unsigned new_algorithm) |
void anonymous_namespace{profiling.cpp}::adjust_thresholds | ( | uint32_t | new_alg, |
uint32_t | old_alg | ||
) |
If we change the algorithm, then we need to reset the wait and abort thresholds. If we do not change the algorithm, then if we revisited our decision based on aborts, then backoff the wait and abort thresholds.
void anonymous_namespace{profiling.cpp}::change_algorithm | ( | TxThread * | tx, |
unsigned | new_algorithm | ||
) |
change_algorithm is used to transition between STM implementations when ProfileTM is not involved.
void anonymous_namespace{profiling.cpp}::collect_profiles | ( | TxThread * | tx | ) |
Collecting profiles is a lot like changing algorithms, but there are a few customizations we make to address the probing.