From: adash Date: Thu, 31 Jul 2008 02:27:50 +0000 (+0000) Subject: new files for dynamic prefetch enabling X-Git-Tag: preEdgeChange~50 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=0d2dd1cea1c2e3350cd1d41650cdcd26f971b18a;p=IRC.git new files for dynamic prefetch enabling and signal file for getting new stats --- 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