From 0d2dd1cea1c2e3350cd1d41650cdcd26f971b18a Mon Sep 17 00:00:00 2001 From: adash Date: Thu, 31 Jul 2008 02:27:50 +0000 Subject: [PATCH] new files for dynamic prefetch enabling and signal file for getting new stats --- .../DSTM/interface/addPrefetchEnhance.c | 49 +++++++++++++++++++ .../DSTM/interface/addPrefetchEnhance.h | 17 +++++++ Robust/src/Runtime/DSTM/interface/signal.c | 33 +++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 Robust/src/Runtime/DSTM/interface/addPrefetchEnhance.c create mode 100644 Robust/src/Runtime/DSTM/interface/addPrefetchEnhance.h create mode 100644 Robust/src/Runtime/DSTM/interface/signal.c diff --git a/Robust/src/Runtime/DSTM/interface/addPrefetchEnhance.c b/Robust/src/Runtime/DSTM/interface/addPrefetchEnhance.c new file mode 100644 index 00000000..ef7d7aa4 --- /dev/null +++ b/Robust/src/Runtime/DSTM/interface/addPrefetchEnhance.c @@ -0,0 +1,49 @@ +#include "dstm.h" +#include "addPrefetchEnhance.h" + +extern int numprefetchsites; +//pfcstats_t evalPrefetch[numprefetchsites]; //Global array for all prefetch sites in the executable +extern pfcstats_t *evalPrefetch; + +pfcstats_t *initPrefetchStats() { + pfcstats_t *ptr; + if((ptr = calloc(numprefetchsites, sizeof(pfcstats_t))) == NULL) { + printf("%s() Calloc error in %s at line %d\n", __func__, __FILE__, __LINE__); + return NULL; + } + int i; + /* Enable prefetching at the beginning */ + for(i=0; i + +extern int numTransAbort; +extern int numTransCommit; +extern int numprefetchsites; +void handle(); +extern pfcstats_t *evalPrefetch; + +void transStatsHandler(int sig, siginfo_t* info, void *context) { +#ifdef TRANSSTATS + printf("****** Transaction Stats ******\n"); + printf("numTransAbort = %d\n", numTransAbort); + printf("numTransCommit = %d\n", numTransCommit); + int i; + for(i=0; i