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){
     5.1 --- a/dependency.h	Wed Mar 28 18:02:38 2012 +0200
     5.2 +++ b/dependency.h	Mon Apr 16 18:25:31 2012 +0200
     5.3 @@ -16,6 +16,7 @@
     5.4      int vp;
     5.5      int task;
     5.6      void* ret_ptr;
     5.7 +    int reqType;
     5.8  } Unit;
     5.9  
    5.10  typedef struct {