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];