Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > SSR_impls > SSR__MC_shared_impl
changeset 73:f20b4d9d3086 Holistic_Model
add recording of req type for unit fusing in ucc
| author | Nina Engelhardt <nengel@mailbox.tu-berlin.de> |
|---|---|
| date | Mon, 16 Apr 2012 18:25:31 +0200 |
| parents | d20b105981b7 |
| children | b73e4a6f3497 |
| files | SSR.h SSR_PluginFns.c SSR_Request_Handlers.c dependency.c dependency.h |
| diffstat | 5 files changed, 10 insertions(+), 6 deletions(-) [+] |
line diff
1.1 --- a/SSR.h Wed Mar 28 18:02:38 2012 +0200 1.2 +++ b/SSR.h Mon Apr 16 18:25:31 2012 +0200 1.3 @@ -123,6 +123,7 @@ 1.4 ListOfArrays* dynDependenciesList; 1.5 Unit last_in_slot[NUM_CORES * NUM_ANIM_SLOTS]; 1.6 ListOfArrays* hwArcs; 1.7 + int lastReqType; 1.8 #endif 1.9 1.10 #ifdef HOLISTIC__TURN_ON_PERF_COUNTERS
2.1 --- a/SSR_PluginFns.c Wed Mar 28 18:02:38 2012 +0200 2.2 +++ b/SSR_PluginFns.c Mon Apr 16 18:25:31 2012 +0200 2.3 @@ -115,9 +115,10 @@ 2.4 semEnv = (SSRSemEnv *)_semEnv; 2.5 2.6 req = VMS_PI__take_next_request_out_of( requestingPr ); 2.7 - 2.8 + 2.9 while( req != NULL ) 2.10 { 2.11 + semEnv->lastReqType = 0; 2.12 switch( req->reqType ) 2.13 { case semantic: handleSemReq( req, requestingPr, semEnv); 2.14 break; 2.15 @@ -265,8 +266,7 @@ 2.16 newd.from_vp = requestingPr->slaveID; 2.17 newd.from_task = requestingPr->assignCount; 2.18 newd.to_vp = newPr->slaveID; 2.19 - newd.to_task = 1; 2.20 - //addToListOfArraysDependency(newd,semEnv->commDependenciesList); 2.21 + newd.to_task = 1; 2.22 addToListOfArrays(Dependency,newd,semEnv->commDependenciesList); 2.23 #endif 2.24 2.25 @@ -294,6 +294,7 @@ 2.26 Unit newu; 2.27 newu.vp = procr->slaveID; 2.28 newu.task = procr->assignCount; 2.29 + newu.reqType = semEnv->lastReqType; 2.30 if(procr->assignCount <= 1){ 2.31 newu.ret_ptr = procr->resumeInstrPtr; 2.32 } else {
3.1 --- a/SSR_Request_Handlers.c Wed Mar 28 18:02:38 2012 +0200 3.2 +++ b/SSR_Request_Handlers.c Mon Apr 16 18:25:31 2012 +0200 3.3 @@ -428,7 +428,7 @@ 3.4 { void *ptr; 3.5 3.6 DEBUG__printf1(dbgRqstHdlr,"Malloc request from processor %d",requestingPr->slaveID) 3.7 - 3.8 + semEnv->lastReqType = 1; 3.9 ptr = VMS_PI__malloc( semReq->sizeToMalloc ); 3.10 requestingPr->dataRetFromReq = ptr; 3.11 resume_slaveVP( requestingPr, semEnv ); 3.12 @@ -440,7 +440,8 @@ 3.13 handleFree( SSRSemReq *semReq, SlaveVP *requestingPr, SSRSemEnv *semEnv ) 3.14 { 3.15 DEBUG__printf1(dbgRqstHdlr,"Free request from processor %d",requestingPr->slaveID) 3.16 - VMS_PI__free( semReq->ptrToFree ); 3.17 + semEnv->lastReqType = 1; 3.18 + VMS_PI__free( semReq->ptrToFree ); 3.19 resume_slaveVP( requestingPr, semEnv ); 3.20 } 3.21
4.1 --- a/dependency.c Wed Mar 28 18:02:38 2012 +0200 4.2 +++ b/dependency.c Mon Apr 16 18:25:31 2012 +0200 4.3 @@ -57,7 +57,7 @@ 4.4 void print_unit_to_file(void* _unit){ 4.5 Unit* unit = (Unit*) _unit; 4.6 if(!unit) return; 4.7 - fprintf(dependency_file,"unit,%d,%d,%p\n",unit->vp,unit->task,unit->ret_ptr); 4.8 + fprintf(dependency_file,"unit,%d,%d,%p,%d\n",unit->vp,unit->task,unit->ret_ptr,unit->reqType); 4.9 } 4.10 4.11 void print_nton_set_helper(void* _u){
