tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
anonymous_namespace{profiling.cpp} Namespace Reference

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)
 

Function Documentation

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.

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function: