11 #ifndef DISJOINT_HPP__
12 #define DISJOINT_HPP__
60 Disjoint(
unsigned R,
unsigned W,
unsigned L,
bool S)
91 unsigned index = startpoint, writes = 0, reads = 0, buff = 0;
96 if ((writes + reads) == 10)
99 bool should_write =
false;
126 #endif // DISJOINT_HPP__
static const unsigned BUFFER_COUNT
Definition: Disjoint.hpp:26
#define TM_CALLABLE
Definition: cxxtm.hpp:32
unsigned reads_per_ten
Definition: Disjoint.hpp:50
uint32_t value
Definition: Disjoint.hpp:32
#define TM_WRITE(x, y)
Definition: cxxtm.hpp:46
TM_CALLABLE bool ro_transaction(uint32_t id, uint32_t startpoint TM_ARG) __attribute__((noinline))
Definition: DisjointBench.cpp:53
Definition: Disjoint.hpp:22
PaddedBufferEntry()
Definition: Disjoint.hpp:34
unsigned writes_per_ten
Definition: Disjoint.hpp:51
Definition: policies.hpp:256
#define TM_ARG
Definition: cxxtm.hpp:40
PaddedBuffer privateBuffers[BUFFER_COUNT]
Definition: Disjoint.hpp:45
char padding[64-sizeof(uint32_t)]
Definition: Disjoint.hpp:33
unsigned locations_per_transaction
Definition: Disjoint.hpp:52
Disjoint(unsigned R, unsigned W, unsigned L, bool S)
Definition: Disjoint.hpp:60
#define TM_READ(x)
Definition: cxxtm.hpp:45
class simple_queue __attribute__
int rand_r_32(unsigned int *seed)
Definition: rand_r_32.h:43
Definition: Disjoint.hpp:30
TM_CALLABLE void r_rw_transaction(uint32_t id, uint32_t startpoint TM_ARG)
Definition: Disjoint.hpp:86
Definition: Disjoint.hpp:38
PaddedBufferEntry buffer[DJBUFFER_SIZE]
Definition: Disjoint.hpp:40
PaddedBuffer publicBuffer
Definition: Disjoint.hpp:48
bool use_shared_read_buffer
Definition: Disjoint.hpp:53
static const unsigned DJBUFFER_SIZE
Definition: Disjoint.hpp:25
PaddedBuffer()
Definition: Disjoint.hpp:41