Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VSs_impls > VSs__MC_shared_impl
comparison VSs.h @ 6:1780f6b00e3d
Not working -- checkpoint while making explicitly created VPs work, and DKU pattern
| author | Sean Halle <seanhalle@yahoo.com> |
|---|---|
| date | Wed, 01 Aug 2012 00:18:53 -0700 |
| parents | 8188c5b4bfd7 |
| children | 3999b8429ddd |
comparison
equal
deleted
inserted
replaced
| 5:3cb2af1de854 | 6:83d9b443207a |
|---|---|
| 59 int32 numEnabledNonDoneReaders; | 59 int32 numEnabledNonDoneReaders; |
| 60 PrivQueueStruc *waitersQ; | 60 PrivQueueStruc *waitersQ; |
| 61 } | 61 } |
| 62 VSsPointerEntry; | 62 VSsPointerEntry; |
| 63 | 63 |
| 64 typedef struct _VSsTaskStub VSsTaskStub; | 64 typedef struct |
| 65 | |
| 66 struct _VSsTaskStub | |
| 67 { | 65 { |
| 68 void **args; //ctld args must come first, as ptrs | 66 void **args; //ctld args must come first, as ptrs |
| 69 VSsTaskType *taskType; | 67 VSsTaskType *taskType; |
| 70 int32 *taskID; | 68 int32 *taskID; |
| 71 int32 numBlockingProp; | 69 int32 numBlockingProp; |
| 72 SlaveVP *slaveAssignedTo; | 70 SlaveVP *slaveAssignedTo; |
| 73 VSsPointerEntry **ptrEntries; | 71 VSsPointerEntry **ptrEntries; |
| 74 void* parent; | 72 void* parent; |
| 75 bool32 parentIsTask; | 73 bool32 parentIsTask; |
| 76 int32 numChildTasks; | 74 int32 numChildTasks; |
| 77 bool32 isWaiting; | 75 bool32 isWaiting; |
| 78 } | 76 } |
| 79 ; | 77 VSsTaskStub; |
| 80 | 78 |
| 81 typedef struct { | 79 typedef struct |
| 80 { | |
| 82 void* parent; | 81 void* parent; |
| 83 bool32 parentIsTask; | 82 bool32 parentIsTask; |
| 84 int32 numChildTasks; | 83 int32 numChildTasks; |
| 85 bool32 isWaiting; | 84 bool32 isWaiting; |
| 86 SlaveVP *slaveAssignedTo; | 85 SlaveVP *slaveAssignedTo; |
| 87 } VSsThreadInfo; | 86 } |
| 87 VSsThreadInfo; | |
| 88 | 88 |
| 89 typedef struct | 89 typedef struct |
| 90 { | 90 { |
| 91 VSsTaskStub *taskStub; | 91 VSsTaskStub *taskStub; |
| 92 int32 argNum; | 92 int32 argNum; |
| 183 /* VSsSemReq */; | 183 /* VSsSemReq */; |
| 184 | 184 |
| 185 | 185 |
| 186 typedef struct | 186 typedef struct |
| 187 { | 187 { |
| 188 PrivQueueStruc **readyVPQs; | 188 PrivQueueStruc **slavesReadyToResumeQ; //Shared (slaves not pinned) |
| 189 PrivQueueStruc *taskReadyQ; //Q: shared or local? | 189 PrivQueueStruc **extraTaskSlvQ; //Shared |
| 190 PrivQueueStruc *taskReadyQ; //Shared (tasks not pinned) | |
| 191 SlaveVP *currTaskSlvs[NUM_CORES][NUM_ANIM_SLOTS]; | |
| 190 HashTable *argPtrHashTbl; | 192 HashTable *argPtrHashTbl; |
| 191 HashTable *commHashTbl; | 193 HashTable *commHashTbl; |
| 192 int32 numSlaveVP; | 194 int32 numAdditionalSlvs; |
| 193 int32 nextCoreToGetNewSlv; | 195 int32 nextCoreToGetNewSlv; |
| 194 int32 primitiveStartTime; | 196 int32 primitiveStartTime; |
| 195 | 197 |
| 196 //fix limit on num with dynArray | 198 //fix limit on num with dynArray |
| 197 VSsSingleton fnSingletons[NUM_STRUCS_IN_SEM_ENV]; | 199 VSsSingleton fnSingletons[NUM_STRUCS_IN_SEM_ENV]; |
