#include #include #include #include #include #include #include #include <../litmus.h> #define L3_CACHE_SIZE (11264*1024) #define SAVE_RESULTS if(jobsComplete>-1) progTime[jobsComplete]=(end.tv_nsec-start.tv_nsec)+(1000000000*(end.tv_sec-start.tv_sec)); #define SET_UP char *thisProgram=argv[1];\ int maxJobs=atoi(argv[2]);\ char *thisCore=argv[3];\ char *otherCore=argv[4];\ char *otherProgram=argv[5];\ char *runID=argv[6];\ int output=atoi(argv[7]);\ struct timespec start, end;\ int jobsComplete;\ long progTime[maxJobs*output];\ char fileName[50];\ char *bigArray;\ strcpy(fileName, runID);\ strcat(fileName, ".txt");\ mlockall(MCL_CURRENT || MCL_FUTURE); #define WRITE_TO_FILE if (output){\ munlockall();\ FILE *fp=fopen(fileName, "a");\ for(jobsComplete=0; jobsComplete