tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
WWPathologyBench.cpp File Reference
#include <iostream>
#include <api/api.hpp>
#include "bmconfig.hpp"
#include "DList.hpp"
Include dependency graph for WWPathologyBench.cpp:

Functions

void bench_init ()
 
void bench_test (uintptr_t id, uint32_t *)
 
bool bench_verify ()
 
void bench_reparse ()
 

Variables

DListlist
 

Function Documentation

void bench_init ( )

BENCHMARKS IMPLEMENT THE FOLLOWING FUNCTIONS

Step 3: Declare an instance of the data type, and provide init, test, and verify functions

Here is the call graph for this function:

Here is the caller graph for this function:

void bench_reparse ( )

Step 4: Include the code that has the main() function, and the code for creating threads and calling the three above-named functions. Don't forget to provide an arg reparser.

Here is the caller graph for this function:

void bench_test ( uintptr_t  id,
uint32_t *   
)

Run a bunch of transactions that should cause conflicts threads either increment from front to back or from back to front, based on ID. This creates lots of conflicts

Here is the call graph for this function:

Here is the caller graph for this function:

bool bench_verify ( )

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

Copyright (C) 2011 University of Rochester Department of Computer Science and Lehigh University Department of Computer Science and Engineering

License: Modified BSD Please see the file LICENSE.RSTM for licensing information Step 1: Include the configuration code for the harness, and the API code. We provide the option to build the entire benchmark in a single source. The bmconfig.hpp include defines all of the important functions that are implemented in this file, and bmharness.cpp defines the execution infrastructure. Step 2: Declare the data type that will be stress tested via this benchmark. Also provide any functions that will be needed to manipulate the data type. Take care to avoid unnecessary indirection. Step 3: Declare an instance of the data type, and provide init, test, and verify functions