Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VSs_impls > VSs__MC_shared_impl
changeset 20:a7ca8f45c1c4 dev_expl_VP_and_DKU
fix coding standard to work with -std=gnu99 -Wall
| author | Nina Engelhardt <nengel@mailbox.tu-berlin.de> |
|---|---|
| date | Tue, 25 Sep 2012 16:12:40 +0200 |
| parents | 58a71af04cd1 |
| children | feea343d202f |
| files | Measurement/dependency.c Measurement/dependency.h VSs.c VSs.h VSs_PluginFns.c VSs_Request_Handlers.c VSs_Request_Handlers.h |
| diffstat | 7 files changed, 96 insertions(+), 80 deletions(-) [+] |
line diff
1.1 --- a/Measurement/dependency.c Mon Sep 17 11:07:07 2012 +0200 1.2 +++ b/Measurement/dependency.c Tue Sep 25 16:12:40 2012 +0200 1.3 @@ -20,7 +20,7 @@ 1.4 return newn; 1.5 } 1.6 1.7 -int set_dependency_file(FILE* file){ 1.8 +void set_dependency_file(FILE* file){ 1.9 dependency_file = file; 1.10 } 1.11 1.12 @@ -93,4 +93,4 @@ 1.13 forAllInListOfArraysDo(nton->senders,&print_nton_set_helper); 1.14 forAllInListOfArraysDo(nton->receivers,&print_nton_set_helper); 1.15 fprintf(dependency_file,"\n"); 1.16 -} 1.17 \ No newline at end of file 1.18 +}
2.1 --- a/Measurement/dependency.h Mon Sep 17 11:07:07 2012 +0200 2.2 +++ b/Measurement/dependency.h Tue Sep 25 16:12:40 2012 +0200 2.3 @@ -36,7 +36,7 @@ 2.4 2.5 NtoN* new_NtoN(int id); 2.6 2.7 -int set_dependency_file(FILE* file); 2.8 +void set_dependency_file(FILE* file); 2.9 2.10 void print_ctl_dependency_to_file(void* _dep); 2.11
3.1 --- a/VSs.c Mon Sep 17 11:07:07 2012 +0200 3.2 +++ b/VSs.c Tue Sep 25 16:12:40 2012 +0200 3.3 @@ -281,10 +281,11 @@ 3.4 { VSsSemEnv *semanticEnv; 3.5 3.6 semanticEnv = _VMSMasterEnv->semanticEnv; 3.7 + 3.8 + #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC 3.9 FILE* output; 3.10 int n; 3.11 - char filename[255]; 3.12 - #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC 3.13 + char filename[255]; 3.14 //UCC 3.15 for(n=0;n<255;n++) 3.16 { 3.17 @@ -370,27 +371,30 @@ 3.18 freeListOfArrays(semanticEnv->hwArcs); 3.19 3.20 #endif 3.21 -#ifdef HOLISTIC__TURN_ON_PERF_COUNTERS 3.22 - for(n=0;n<255;n++) 3.23 +#ifdef HOLISTIC__TURN_ON_PERF_COUNTERS 3.24 + FILE* output2; 3.25 + int n2; 3.26 + char filename2[255]; 3.27 + for(n2=0;n2<255;n2++) 3.28 { 3.29 - sprintf(filename, "./counters/Counters.%d.csv",n); 3.30 - output = fopen(filename,"r"); 3.31 - if(output) 3.32 + sprintf(filename2, "./counters/Counters.%d.csv",n2); 3.33 + output2 = fopen(filename2,"r"); 3.34 + if(output2) 3.35 { 3.36 - fclose(output); 3.37 + fclose(output2); 3.38 }else{ 3.39 break; 3.40 } 3.41 } 3.42 - if(n<255){ 3.43 - printf("Saving Counter measurements to File: %s ...\n", filename); 3.44 - output = fopen(filename,"w+"); 3.45 - if(output!=NULL){ 3.46 - set_counter_file(output); 3.47 + if(n2<255){ 3.48 + printf("Saving Counter measurements to File: %s ...\n", filename2); 3.49 + output2 = fopen(filename2,"w+"); 3.50 + if(output2!=NULL){ 3.51 + set_counter_file(output2); 3.52 int i; 3.53 for(i=0;i<NUM_CORES;i++){ 3.54 forAllInListOfArraysDo( semanticEnv->counterList[i], &print_counter_events_to_file ); 3.55 - fflush(output); 3.56 + fflush(output2); 3.57 } 3.58 3.59 } else 3.60 @@ -447,7 +451,7 @@ 3.61 */ 3.62 void 3.63 VSs__end_thread( SlaveVP *thdToEnd ) 3.64 - { VSsSemData *semData; 3.65 + { 3.66 3.67 VMS_WL__send_dissipate_req( thdToEnd ); 3.68 } 3.69 @@ -475,7 +479,7 @@ 3.70 VMS_WL__send_sem_request( &reqData, animSlv ); 3.71 } 3.72 3.73 -inline int32 * 3.74 +int32 * 3.75 VSs__create_taskID_of_size( int32 numInts, SlaveVP *animSlv ) 3.76 { int32 *taskID; 3.77 3.78 @@ -544,7 +548,7 @@ 3.79 //========================== send and receive ============================ 3.80 // 3.81 3.82 -inline int32 * 3.83 +int32 * 3.84 VSs__give_self_taskID( SlaveVP *animSlv ) 3.85 { 3.86 return ((VSsSemData*)animSlv->semanticData)->taskStub->taskID; 3.87 @@ -726,7 +730,7 @@ 3.88 3.89 VMS_WL__send_sem_request( &reqData, animSlv ); 3.90 3.91 -EndSingletonInstrAddr: 3.92 +//EndSingletonInstrAddr: 3.93 return; 3.94 } 3.95
4.1 --- a/VSs.h Mon Sep 17 11:07:07 2012 +0200 4.2 +++ b/VSs.h Tue Sep 25 16:12:40 2012 +0200 4.3 @@ -19,8 +19,8 @@ 4.4 * But counter recording still functional, can build constraintless display 4.5 * with wallclock time 4.6 */ 4.7 -#define EXTERNAL_SCHEDULER 4.8 -#define SIMULATE_EXTERNAL_SCHEDULER 4.9 +//#define EXTERNAL_SCHEDULER 4.10 +//#define SIMULATE_EXTERNAL_SCHEDULER 4.11 4.12 //=========================================================================== 4.13 #define NUM_STRUCS_IN_SEM_ENV 1000 4.14 @@ -305,7 +305,7 @@ 4.15 void 4.16 VSs__submit_task( VSsTaskType *taskType, void *args, SlaveVP *animSlv); 4.17 4.18 -inline int32 * 4.19 +int32 * 4.20 VSs__create_taskID_of_size( int32 numInts, SlaveVP *animSlv ); 4.21 4.22 void 4.23 @@ -320,7 +320,7 @@ 4.24 VSs__taskwait(SlaveVP *animSlv); 4.25 4.26 4.27 -inline int32 * 4.28 +int32 * 4.29 VSs__give_self_taskID( SlaveVP *animSlv ); 4.30 4.31 void 4.32 @@ -386,6 +386,9 @@ 4.33 void 4.34 idle_fn(void* data, SlaveVP *animatingSlv); 4.35 4.36 +void 4.37 +resume_slaveVP(SlaveVP *slave, VSsSemEnv *semEnv); 4.38 + 4.39 //===================== Measurement of Lang Overheads ===================== 4.40 #include "Measurement/VSs_Measurement.h" 4.41
5.1 --- a/VSs_PluginFns.c Mon Sep 17 11:07:07 2012 +0200 5.2 +++ b/VSs_PluginFns.c Tue Sep 25 16:12:40 2012 +0200 5.3 @@ -19,13 +19,13 @@ 5.4 void 5.5 resume_slaveVP(SlaveVP *slave, VSsSemEnv *semEnv); 5.6 5.7 -inline void 5.8 +void 5.9 handleSemReq(VMSReqst *req, SlaveVP *requestingSlv, VSsSemEnv *semEnv); 5.10 5.11 -inline void 5.12 +void 5.13 handleDissipate(SlaveVP *requestingSlv, VSsSemEnv *semEnv); 5.14 5.15 -inline void 5.16 +void 5.17 handleCreate(VMSReqst *req, SlaveVP *requestingSlv, VSsSemEnv *semEnv); 5.18 5.19 //============================== Assigner ================================== 5.20 @@ -229,7 +229,7 @@ 5.21 5.22 } 5.23 5.24 -inline void 5.25 +void 5.26 handleSemReq(VMSReqst *req, SlaveVP *reqSlv, VSsSemEnv *semEnv) { 5.27 VSsSemReq *semReq; 5.28 5.29 @@ -271,6 +271,8 @@ 5.30 break; 5.31 case trans_end: handleTransEnd(semReq, reqSlv, semEnv); 5.32 break; 5.33 + default: 5.34 + break; 5.35 } 5.36 } 5.37 5.38 @@ -281,7 +283,7 @@ 5.39 /*SlaveVP dissipate -- this is NOT task-end!, only call this to get rid of 5.40 * extra task slaves, and to end explicitly created threads 5.41 */ 5.42 -inline void 5.43 +void 5.44 handleDissipate(SlaveVP *requestingSlv, VSsSemEnv *semEnv) { 5.45 VSsSemData *semData; 5.46 VSsTaskStub *parentTaskStub, *ownTaskStub; 5.47 @@ -345,7 +347,7 @@ 5.48 5.49 /*Re-use this in the entry-point fn 5.50 */ 5.51 -inline SlaveVP * 5.52 +SlaveVP * 5.53 VSs__create_slave_helper(TopLevelFnPtr fnPtr, void *initData, 5.54 VSsSemEnv *semEnv, int32 coreToAssignOnto) { 5.55 SlaveVP *newSlv; 5.56 @@ -421,7 +423,7 @@ 5.57 * Then, put the task stub into the slave's semantic Data. 5.58 *When the slave calls dissipate, have to recycle the task stub. 5.59 */ 5.60 -inline void 5.61 +void 5.62 handleCreate(VMSReqst *req, SlaveVP *requestingSlv, VSsSemEnv *semEnv) { 5.63 VSsSemReq *semReq; 5.64 SlaveVP *newSlv;
6.1 --- a/VSs_Request_Handlers.c Mon Sep 17 11:07:07 2012 +0200 6.2 +++ b/VSs_Request_Handlers.c Tue Sep 25 16:12:40 2012 +0200 6.3 @@ -10,6 +10,7 @@ 6.4 #include "VMS_impl/VMS.h" 6.5 #include "Queue_impl/PrivateQueue.h" 6.6 #include "Hash_impl/PrivateHash.h" 6.7 +#include "ListOfArrays/ListOfArrays.h" 6.8 #include "VSs.h" 6.9 #include "VSs_Request_Handlers.h" 6.10 6.11 @@ -20,8 +21,7 @@ 6.12 6.13 6.14 //=========================== Local Fn Prototypes =========================== 6.15 -void 6.16 -resume_slaveVP(SlaveVP *slave, VSsSemEnv *semEnv); 6.17 + 6.18 6.19 6.20 6.21 @@ -46,7 +46,7 @@ 6.22 } 6.23 6.24 HashEntry * 6.25 -giveEntryElseInsertReqst32(int32 *key, VSsSemReq *semReq, 6.26 +giveEntryElseInsertReqst32(uint32 *key, VSsSemReq *semReq, 6.27 HashTable *commHashTbl) { 6.28 HashEntry *entry; 6.29 VSsSemReq *waitingReq; 6.30 @@ -84,7 +84,7 @@ 6.31 /*malloc's space and initializes fields -- and COPIES the arg values 6.32 * to new space 6.33 */ 6.34 -inline VSsTaskStub * 6.35 +VSsTaskStub * 6.36 create_task_stub(VSsTaskType *taskType, void **args) { 6.37 void **newArgs; 6.38 VSsTaskStub* newStub = VMS_int__malloc(sizeof (VSsTaskStub) + taskType->sizeOfArgs); 6.39 @@ -109,7 +109,7 @@ 6.40 return newStub; 6.41 } 6.42 6.43 -inline VSsTaskStubCarrier * 6.44 +VSsTaskStubCarrier * 6.45 create_task_carrier(VSsTaskStub *taskStub, int32 argNum, int32 rdOrWrite) { 6.46 VSsTaskStubCarrier *newCarrier; 6.47 6.48 @@ -117,6 +117,8 @@ 6.49 newCarrier->taskStub = taskStub; 6.50 newCarrier->argNum = argNum; 6.51 newCarrier->isReader = rdOrWrite == READER; 6.52 + 6.53 + return newCarrier; 6.54 } 6.55 6.56 //========================================================================== 6.57 @@ -220,7 +222,7 @@ 6.58 * 6.59 *That should be it -- that should work. 6.60 */ 6.61 -inline void 6.62 +void 6.63 handleSubmitTask(VSsSemReq *semReq, VSsSemEnv *semEnv) { 6.64 uint32 key[3]; 6.65 HashEntry *rawHashEntry; //has char *, but use with uint32 * 6.66 @@ -374,7 +376,7 @@ 6.67 *TODO: Might be safe to delete an entry when task ends and waiterQ empty 6.68 * and no readers and no writers.. 6.69 */ 6.70 -inline void 6.71 +void 6.72 handleEndTask(VSsSemReq *semReq, VSsSemEnv *semEnv) { 6.73 VSsPointerEntry *ptrEntry; //contents of hash table entry for an arg pointer 6.74 void **args; 6.75 @@ -584,7 +586,7 @@ 6.76 return; 6.77 } 6.78 6.79 -inline void 6.80 +void 6.81 free_task_stub(VSsTaskStub *stubToFree) 6.82 { if(stubToFree->ptrEntries != NULL ) //a thread stub has NULL entry 6.83 { VMS_PI__free( stubToFree->ptrEntries ); 6.84 @@ -608,11 +610,12 @@ 6.85 * separate tasks can send to the same receiver, and doing hash on the 6.86 * receive task, so they will stack up. 6.87 */ 6.88 -inline void 6.89 +void 6.90 handleSendTypeTo(VSsSemReq *semReq, VSsSemEnv *semEnv) { 6.91 SlaveVP *senderSlv, *receiverSlv; 6.92 int32 *senderID, *receiverID; 6.93 - int32 *key, keySz, receiverIDNumInt; 6.94 + int32 keySz, receiverIDNumInt; 6.95 + uint32 *key; 6.96 VSsSemReq *waitingReq; 6.97 HashEntry *entry; 6.98 HashTable *commHashTbl = semEnv->commHashTbl; 6.99 @@ -711,11 +714,12 @@ 6.100 */ 6.101 //TODO: combine both send handlers into single handler 6.102 6.103 -inline void 6.104 +void 6.105 handleSendFromTo(VSsSemReq *semReq, VSsSemEnv *semEnv) { 6.106 SlaveVP *senderSlv, *receiverSlv; 6.107 int32 *senderID, *receiverID; 6.108 - int32 *key, keySz, receiverIDNumInt, senderIDNumInt; 6.109 + int32 keySz, receiverIDNumInt, senderIDNumInt; 6.110 + uint32 *key; 6.111 VSsSemReq *waitingReq; 6.112 HashEntry *entry; 6.113 HashTable *commHashTbl = semEnv->commHashTbl; 6.114 @@ -792,11 +796,12 @@ 6.115 //============================== Receives =========================== 6.116 // 6.117 6.118 -inline void 6.119 +void 6.120 handleReceiveTypeTo(VSsSemReq *semReq, VSsSemEnv *semEnv) { 6.121 SlaveVP *senderSlv, *receiverSlv; 6.122 int32 *receiverID; 6.123 - int32 *key, keySz, receiverIDNumInt; 6.124 + int32 keySz, receiverIDNumInt; 6.125 + uint32 *key; 6.126 VSsSemReq *waitingReq; 6.127 HashEntry *entry; 6.128 HashTable *commHashTbl = semEnv->commHashTbl; 6.129 @@ -879,11 +884,12 @@ 6.130 6.131 /* 6.132 */ 6.133 -inline void 6.134 +void 6.135 handleReceiveFromTo(VSsSemReq *semReq, VSsSemEnv *semEnv) { 6.136 SlaveVP *senderSlv, *receiverSlv; 6.137 int32 *senderID, *receiverID; 6.138 - int32 *key, keySz, receiverIDNumInt, senderIDNumInt; 6.139 + int32 keySz, receiverIDNumInt, senderIDNumInt; 6.140 + uint32 *key; 6.141 VSsSemReq *waitingReq; 6.142 HashEntry *entry; 6.143 HashTable *commHashTbl = semEnv->commHashTbl; 6.144 @@ -916,7 +922,11 @@ 6.145 6.146 //At this point, know have a request to rendez-vous -- should be send 6.147 if (waitingReq->reqType == send_from_to) { //waiting request is a send, so pair it with this receive 6.148 -#ifdef HOLISTIC__TURN_ON_OBSERVE_UCC 6.149 + 6.150 + //have receiver slave, now set sender slave 6.151 + senderSlv = waitingReq->senderSlv; 6.152 + 6.153 + #ifdef HOLISTIC__TURN_ON_OBSERVE_UCC 6.154 Dependency newd; 6.155 newd.from_vp = senderSlv->slaveID; 6.156 newd.from_task = senderSlv->assignCount; 6.157 @@ -924,10 +934,7 @@ 6.158 newd.to_task = receiverSlv->assignCount + 1; 6.159 //addToListOfArraysDependency(newd,semEnv->commDependenciesList); 6.160 addToListOfArrays(Dependency, newd, semEnv->commDependenciesList); 6.161 -#endif 6.162 - 6.163 - //have receiver slave, now set sender slave 6.164 - senderSlv = waitingReq->senderSlv; 6.165 + #endif 6.166 6.167 //For from-to, should only ever be a single reqst waiting tobe paird 6.168 entry->content = waitingReq->nextReqInHashEntry; 6.169 @@ -951,7 +958,7 @@ 6.170 6.171 //========================================================================== 6.172 6.173 -inline void 6.174 +void 6.175 replaceWithNewSlotSlvIfNeeded( SlaveVP *requestingSlv, VSsSemEnv *semEnv ) 6.176 { SlaveVP *newSlotSlv; 6.177 VSsSemData *semData, *reqSemData; 6.178 @@ -989,7 +996,7 @@ 6.179 semData->slaveType = ExtraTaskSlv; 6.180 } 6.181 6.182 -inline void 6.183 +void 6.184 handleTaskwait(VSsSemReq *semReq, SlaveVP *requestingSlv, VSsSemEnv *semEnv) { 6.185 VSsTaskStub* requestingTaskStub; 6.186 VSsSemData* semData; 6.187 @@ -1043,7 +1050,7 @@ 6.188 /*Uses ID as index into array of flags. If flag already set, resumes from 6.189 * end-label. Else, sets flag and resumes normally. 6.190 */ 6.191 -void inline 6.192 +void 6.193 handleStartSingleton_helper(VSsSingleton *singleton, SlaveVP *reqstingSlv, 6.194 VSsSemEnv *semEnv) { 6.195 if (singleton->hasFinished) { //the code that sets the flag to true first sets the end instr addr 6.196 @@ -1069,7 +1076,7 @@ 6.197 } 6.198 } 6.199 6.200 -void inline 6.201 +void 6.202 handleStartFnSingleton(VSsSemReq *semReq, SlaveVP *requestingSlv, 6.203 VSsSemEnv *semEnv) { 6.204 VSsSingleton *singleton; 6.205 @@ -1079,7 +1086,7 @@ 6.206 handleStartSingleton_helper(singleton, requestingSlv, semEnv); 6.207 } 6.208 6.209 -void inline 6.210 +void 6.211 handleStartDataSingleton(VSsSemReq *semReq, SlaveVP *requestingSlv, 6.212 VSsSemEnv *semEnv) { 6.213 VSsSingleton *singleton; 6.214 @@ -1097,7 +1104,7 @@ 6.215 handleStartSingleton_helper(singleton, requestingSlv, semEnv); 6.216 } 6.217 6.218 -void inline 6.219 +void 6.220 handleEndSingleton_helper(VSsSingleton *singleton, SlaveVP *requestingSlv, 6.221 VSsSemEnv *semEnv) { 6.222 PrivQueueStruc *waitQ; 6.223 @@ -1106,7 +1113,7 @@ 6.224 6.225 if (singleton->hasFinished) { //by definition, only one slave should ever be able to run end singleton 6.226 // so if this is true, is an error 6.227 - ERROR1("singleton code ran twice", requestingSlv); 6.228 + ERROR("singleton code ran twice"); 6.229 } 6.230 6.231 singleton->hasFinished = TRUE; 6.232 @@ -1134,7 +1141,7 @@ 6.233 6.234 } 6.235 6.236 -void inline 6.237 +void 6.238 handleEndFnSingleton(VSsSemReq *semReq, SlaveVP *requestingSlv, 6.239 VSsSemEnv *semEnv) { 6.240 VSsSingleton *singleton; 6.241 @@ -1145,7 +1152,7 @@ 6.242 handleEndSingleton_helper(singleton, requestingSlv, semEnv); 6.243 } 6.244 6.245 -void inline 6.246 +void 6.247 handleEndDataSingleton(VSsSemReq *semReq, SlaveVP *requestingSlv, 6.248 VSsSemEnv *semEnv) { 6.249 VSsSingleton *singleton;
7.1 --- a/VSs_Request_Handlers.h Mon Sep 17 11:07:07 2012 +0200 7.2 +++ b/VSs_Request_Handlers.h Tue Sep 25 16:12:40 2012 +0200 7.3 @@ -14,47 +14,47 @@ 7.4 /*This header defines everything specific to the VSs semantic plug-in 7.5 */ 7.6 7.7 -inline void 7.8 +void 7.9 handleSubmitTask( VSsSemReq *semReq, VSsSemEnv *semEnv); 7.10 -inline void 7.11 +void 7.12 handleEndTask( VSsSemReq *semReq, VSsSemEnv *semEnv); 7.13 -inline void 7.14 +void 7.15 handleSendTypeTo( VSsSemReq *semReq, VSsSemEnv *semEnv); 7.16 -inline void 7.17 +void 7.18 handleSendFromTo( VSsSemReq *semReq, VSsSemEnv *semEnv); 7.19 -inline void 7.20 +void 7.21 handleReceiveTypeTo( VSsSemReq *semReq, VSsSemEnv *semEnv); 7.22 -inline void 7.23 +void 7.24 handleReceiveFromTo( VSsSemReq *semReq, VSsSemEnv *semEnv); 7.25 -inline void 7.26 +void 7.27 handleTaskwait(VSsSemReq *semReq, SlaveVP *requestingSlv, VSsSemEnv *semEnv); 7.28 7.29 -inline void 7.30 +void 7.31 handleMalloc( VSsSemReq *semReq, SlaveVP *requestingSlv, VSsSemEnv *semEnv); 7.32 -inline void 7.33 +void 7.34 handleFree( VSsSemReq *semReq, SlaveVP *requestingSlv, VSsSemEnv *semEnv ); 7.35 -inline void 7.36 +void 7.37 handleTransEnd(VSsSemReq *semReq, SlaveVP *requestingSlv, VSsSemEnv*semEnv); 7.38 -inline void 7.39 +void 7.40 handleTransStart( VSsSemReq *semReq, SlaveVP *requestingSlv, 7.41 VSsSemEnv *semEnv ); 7.42 -inline void 7.43 +void 7.44 handleAtomic( VSsSemReq *semReq, SlaveVP *requestingSlv, VSsSemEnv *semEnv); 7.45 -inline void 7.46 +void 7.47 handleStartFnSingleton( VSsSemReq *semReq, SlaveVP *reqstingSlv, 7.48 VSsSemEnv *semEnv ); 7.49 -inline void 7.50 +void 7.51 handleEndFnSingleton( VSsSemReq *semReq, SlaveVP *requestingSlv, 7.52 VSsSemEnv *semEnv ); 7.53 -inline void 7.54 +void 7.55 handleStartDataSingleton( VSsSemReq *semReq, SlaveVP *reqstingSlv, 7.56 VSsSemEnv *semEnv ); 7.57 -inline void 7.58 +void 7.59 handleEndDataSingleton( VSsSemReq *semReq, SlaveVP *requestingSlv, 7.60 VSsSemEnv *semEnv ); 7.61 -inline void 7.62 +void 7.63 free_task_stub( VSsTaskStub *stubToFree ); 7.64 -inline void 7.65 +void 7.66 replaceWithNewSlotSlvIfNeeded( SlaveVP *requestingSlv, VSsSemEnv *semEnv ); 7.67 7.68
