tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
stm::CommitTrigger Struct Reference

#include <profiling.hpp>

Collaboration diagram for stm::CommitTrigger:

Static Public Member Functions

static void onCommitLock (TxThread *tx)
 
static void onCommitSTM (TxThread *tx)
 
static void onAbort (TxThread *tx)
 

Static Public Attributes

static unsigned next = 1
 

Detailed Description

This is the trigger we are currently favoring: request collection of profiles on 16 consecutive aborts, or when thread 2's commit count matches an exponentially decaying pattern.

Member Function Documentation

static void stm::CommitTrigger::onAbort ( TxThread tx)
inlinestatic

Part 3: the thing that gets inlined into stm abort, and gets called on every abort. It's the same as in AbortWaitTrigger

Here is the call graph for this function:

static void stm::CommitTrigger::onCommitLock ( TxThread tx)
inlinestatic

Here is the call graph for this function:

static void stm::CommitTrigger::onCommitSTM ( TxThread tx)
inlinestatic

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

unsigned stm::CommitTrigger::next = 1
static

Track the next time to run a trigger. "time" means the next number of commits in thread2 that necessitates a trigger.


The documentation for this struct was generated from the following files: