comparison VMS.h @ 226:ea70fa57776e

fixed last bug that shows up in sequential mode -- still a race of some kind
author Some Random Person <seanhalle@yahoo.com>
date Thu, 15 Mar 2012 05:29:07 -0700
parents 309559064073
children 5c475c4b7b49
comparison
equal deleted inserted replaced
107:dafdc20d24b6 108:99b9dc6f074e
138 /*WARNING: re-arranging this data structure could cause Slv-switching 138 /*WARNING: re-arranging this data structure could cause Slv-switching
139 * assembly code to fail -- hard-codes offsets of fields 139 * assembly code to fail -- hard-codes offsets of fields
140 * (because -O3 messes with things otherwise) 140 * (because -O3 messes with things otherwise)
141 */ 141 */
142 typedef struct 142 typedef struct
143 { 143 { //The offset of these fields is hard-coded into assembly
144 void *coreCtlrReturnPt; //offset of field used in asm
145 int32 masterLock __align_to_cacheline__; //used in asm
146
147 //below this, no asm uses the field offsets
144 SlaveAssigner slaveAssigner; 148 SlaveAssigner slaveAssigner;
145 RequestHandler requestHandler; 149 RequestHandler requestHandler;
146 150
147 SchedSlot ***allSchedSlots; 151 SchedSlot ***allSchedSlots;
148 SlaveVP **masterVPs; 152 SlaveVP **masterVPs;
150 void *semanticEnv; 154 void *semanticEnv;
151 void *OSEventStruc; //for future, when add I/O to BLIS 155 void *OSEventStruc; //for future, when add I/O to BLIS
152 MallocArrays *freeLists; 156 MallocArrays *freeLists;
153 int32 amtOfOutstandingMem; //total currently allocated 157 int32 amtOfOutstandingMem; //total currently allocated
154 158
155 void *coreCtlrReturnPt;//addr to jump to to re-enter coreCtlr
156
157 int32 setupComplete; 159 int32 setupComplete;
158 int32 masterLock __align_to_cacheline__;
159 GateStruc *workStealingGates[ NUM_CORES ]; //concurrent work-steal 160 GateStruc *workStealingGates[ NUM_CORES ]; //concurrent work-steal
160 int32 workStealingLock; 161 int32 workStealingLock;
161 162
162 int32 numSlavesCreated; //gives ordering to processor creation 163 int32 numSlavesCreated; //gives ordering to processor creation
163 int32 numSlavesAlive; //used to detect when to shutdown 164 int32 numSlavesAlive; //used to detect when to shutdown