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

Functions

void dump_csv ()
 
void usage ()
 
void parseargs (int argc, char **argv)
 
void nontxnwork ()
 
void catch_SIGALRM (int)
 
void barrier (uint32_t which)
 
void run (uintptr_t id)
 
NOINLINE void * run_wrapper (void *i)
 

Function Documentation

void anonymous_namespace{bmharness.cpp}::barrier ( uint32_t  which)

Support a few lightweight barriers

void anonymous_namespace{bmharness.cpp}::catch_SIGALRM ( int  )
void anonymous_namespace{bmharness.cpp}::dump_csv ( )

Print benchmark configuration output

void anonymous_namespace{bmharness.cpp}::nontxnwork ( )

Run some nops between transactions, to simulate some time being spent on computation

Here is the call graph for this function:

void anonymous_namespace{bmharness.cpp}::parseargs ( int  argc,
char **  argv 
)

Parse command line arguments

Here is the call graph for this function:

void anonymous_namespace{bmharness.cpp}::run ( uintptr_t  id)

Here is the call graph for this function:

NOINLINE void* anonymous_namespace{bmharness.cpp}::run_wrapper ( void *  i)

pthread wrapper for running the experiments

NB: noinline prevents this from getting inlined into main (and prevents run from being inlined there as well. This eliminates an _ITM_initializeProcess ordering problem if there's a transaction lexically scoped inside of main.

Here is the call graph for this function:

void anonymous_namespace{bmharness.cpp}::usage ( )

Print usage