Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > SSR_impls > SSR__MC_shared_impl
comparison SSR.c @ 67:b5b5323b4177
added debugging stuff
| author | Some Random Person <seanhalle@yahoo.com> |
|---|---|
| date | Fri, 16 Mar 2012 23:41:31 -0700 |
| parents | bd5ab695145c |
| children | 81a0f076b12e |
comparison
equal
deleted
inserted
replaced
| 0:c0ecedfe9a17 | 2:25e2db0d3aca |
|---|---|
| 27 /*TODO: Q: dealing with library f()s and DKU vs WT vs FoR | 27 /*TODO: Q: dealing with library f()s and DKU vs WT vs FoR |
| 28 * (still want to do FoR, with time-lines as syntax, could be super cool) | 28 * (still want to do FoR, with time-lines as syntax, could be super cool) |
| 29 * A: thinking pin the coreCtlrs for all of BLIS -- let Master arbitrate | 29 * A: thinking pin the coreCtlrs for all of BLIS -- let Master arbitrate |
| 30 * among library, DKU, WT, FoR -- all the patterns in terms of virtual | 30 * among library, DKU, WT, FoR -- all the patterns in terms of virtual |
| 31 * processors (or equivalently work-units), so Master picks which virt procr | 31 * processors (or equivalently work-units), so Master picks which virt procr |
| 32 * from which portions of app (DKU, WT, FoR) onto which sched slots | 32 * from which portions of app (DKU, WT, FoR) onto which anim slots |
| 33 *Might even do hierarchy of masters -- group of sched slots for each core | 33 *Might even do hierarchy of masters -- group of anim slots for each core |
| 34 * has its own master, that keeps generated work local | 34 * has its own master, that keeps generated work local |
| 35 * single-reader-single-writer sync everywhere -- no atomic primitives | 35 * single-reader-single-writer sync everywhere -- no atomic primitives |
| 36 * Might have the different assigners talk to each other, to negotiate | 36 * Might have the different assigners talk to each other, to negotiate |
| 37 * larger-grain sharing of resources, according to predicted critical | 37 * larger-grain sharing of resources, according to predicted critical |
| 38 * path, and expansion of work | 38 * path, and expansion of work |
| 184 PrivQueueStruc **readyVPQs; | 184 PrivQueueStruc **readyVPQs; |
| 185 int coreIdx, i, j; | 185 int coreIdx, i, j; |
| 186 | 186 |
| 187 //Hook up the semantic layer's plug-ins to the Master virt procr | 187 //Hook up the semantic layer's plug-ins to the Master virt procr |
| 188 _VMSMasterEnv->requestHandler = &SSR__Request_Handler; | 188 _VMSMasterEnv->requestHandler = &SSR__Request_Handler; |
| 189 _VMSMasterEnv->slaveAssigner = &SSR__assign_slaveVP; | 189 _VMSMasterEnv->slaveAssigner = &SSR__assign_slaveVP_to_slot; |
| 190 #ifdef HOLISTIC__TURN_ON_PERF_COUNTERS | 190 #ifdef HOLISTIC__TURN_ON_PERF_COUNTERS |
| 191 _VMSMasterEnv->counterHandler = &SSR__counter_handler; | 191 _VMSMasterEnv->counterHandler = &SSR__counter_handler; |
| 192 #endif | 192 #endif |
| 193 | 193 |
| 194 //create the semantic layer's environment (all its data) and add to | 194 //create the semantic layer's environment (all its data) and add to |
| 560 | 560 |
| 561 } | 561 } |
| 562 | 562 |
| 563 void * | 563 void * |
| 564 SSR__receive_type_to( const int type, SlaveVP *receivePr ) | 564 SSR__receive_type_to( const int type, SlaveVP *receivePr ) |
| 565 { | 565 { DEBUG__printf1(dbgRqstHdlr,"WL: receive type to: %d", receivePr->slaveID); |
| 566 SSRSemReq reqData; | 566 SSRSemReq reqData; |
| 567 | 567 |
| 568 reqData.receivePr = receivePr; | 568 reqData.receivePr = receivePr; |
| 569 reqData.reqType = receive_type; | 569 reqData.reqType = receive_type; |
| 570 reqData.msgType = type; | 570 reqData.msgType = type; |
| 583 * loc structure directly -- and the VMS rules state a virtual processor | 583 * loc structure directly -- and the VMS rules state a virtual processor |
| 584 * loc structure can only be modified by itself. | 584 * loc structure can only be modified by itself. |
| 585 */ | 585 */ |
| 586 void * | 586 void * |
| 587 SSR__receive_from_to( SlaveVP *sendPr, SlaveVP *receivePr ) | 587 SSR__receive_from_to( SlaveVP *sendPr, SlaveVP *receivePr ) |
| 588 { SSRSemReq reqData; | 588 { DEBUG__printf2(dbgRqstHdlr,"WL: receive from %d to: %d", sendPr->slaveID, receivePr->slaveID); |
| 589 SSRSemReq reqData; | |
| 589 | 590 |
| 590 //hash on the receiver, 'cause always know it, but sometimes want to | 591 //hash on the receiver, 'cause always know it, but sometimes want to |
| 591 // receive from anonymous sender | 592 // receive from anonymous sender |
| 592 | 593 |
| 593 reqData.receivePr = receivePr; | 594 reqData.receivePr = receivePr; |
