Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
comparison PR.h @ 266:a5fa1e087c7e
Save checkpoint to come back to -- about to mangle AnimationMaster.c
| author | Sean Halle <seanhalle@yahoo.com> |
|---|---|
| date | Thu, 25 Oct 2012 23:35:36 -0700 |
| parents | dafae55597ce |
| children | 608833ae2c5d |
comparison
equal
deleted
inserted
replaced
| 1:a716ed044c8d | 2:bcc07311f71e |
|---|---|
| 129 SlotPerfInfo *perfInfo; //used by assigner to pick best slave for core | 129 SlotPerfInfo *perfInfo; //used by assigner to pick best slave for core |
| 130 }; | 130 }; |
| 131 //AnimSlot | 131 //AnimSlot |
| 132 | 132 |
| 133 enum VPtype | 133 enum VPtype |
| 134 { TaskSlotSlv = 1,//Slave tied to an anim slot, only animates tasks | 134 { SlotTaskSlv = 1,//Slave tied to an anim slot, only animates tasks |
| 135 TaskFreeSlv, //When a suspended task ends, the slave becomes this | 135 FreeTaskSlv, //When a suspended task ends, the slave becomes this |
| 136 GenericSlv, //the VP is explicitly seen in the app code, or task suspends | 136 GenericSlv, //the VP is explicitly seen in the app code, or task suspends |
| 137 Master, | 137 Master, |
| 138 Shutdown, | 138 Shutdown, |
| 139 Idle | 139 Idle |
| 140 }; | 140 }; |
| 290 }; | 290 }; |
| 291 | 291 |
| 292 struct _PRMetaTask | 292 struct _PRMetaTask |
| 293 { | 293 { |
| 294 PRTaskType taskType; | 294 PRTaskType taskType; |
| 295 RequestHandler reqHandler; //Lang-specific hdlr for create, end, etc | 295 // RequestHandler reqHandler; //Lang-specific hdlr for create, end, etc |
| 296 int32 *taskID; //is standard PR ID | 296 int32 *taskID; //is standard PR ID |
| 297 SlaveVP *slaveAssignedTo; //no valid until task animated | 297 SlaveVP *slaveAssignedTo; //no valid until task animated |
| 298 TopLevelFn topLevelFn; //This is the Fn executes as the task | 298 TopLevelFn topLevelFn; //This is the Fn executes as the task |
| 299 void *initData; //The data taken by the function | 299 void *initData; //The data taken by the function |
| 300 void *langMetaTask; | 300 void *langMetaTask; |
| 335 { | 335 { |
| 336 PRSemEnv semEnvs[NUM_SEM_ENVS_IN_PROCESS]; //used as a hash table | 336 PRSemEnv semEnvs[NUM_SEM_ENVS_IN_PROCESS]; //used as a hash table |
| 337 PRSemEnv semEnvList[NUM_SEM_ENVS_IN_PROCESS]; //lines up the semEnvs, so can iterate through | 337 PRSemEnv semEnvList[NUM_SEM_ENVS_IN_PROCESS]; //lines up the semEnvs, so can iterate through |
| 338 int32 numSemEnvs; //must be less than num sem envs.. used to iterate through | 338 int32 numSemEnvs; //must be less than num sem envs.. used to iterate through |
| 339 | 339 |
| 340 int32 numLiveGenericSlaves; | 340 int32 numLiveGenericSlvs; |
| 341 int32 numLiveFreeTaskSlaves; | 341 int32 numLiveFreeTaskSlvs; |
| 342 int32 numLiveTasks; | 342 int32 numLiveTasks; |
| 343 bool32 coreIsDone[NUM_CORES][CACHE_LINE_SZ]; //Fixes false sharing | 343 // bool32 coreIsDone[NUM_CORES][CACHE_LINE_SZ]; //Fixes false sharing |
| 344 | 344 |
| 345 PrivQ *freeTaskSlvRecycleQ; | |
| 346 SlaveVP slotTaskSlvs[NUM_CORES][NUM_ANIM_SLOTS]; | |
| 345 void *resultToReturn; | 347 void *resultToReturn; |
| 346 | 348 |
| 347 SlaveVP *seedSlv; | 349 SlaveVP *seedSlv; |
| 348 | 350 |
| 349 //These are used to coord with OS thread waiting for process to end | 351 //These are used to coord with OS thread waiting for process to end |
