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;