Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
comparison VMS.h @ 173:bfaebdf60df3
coreLoop: All written variables are now on local stack or in seperate cache line
| author | Merten Sach <msach@mailbox.tu-berlin.de> |
|---|---|
| date | Tue, 20 Dec 2011 15:39:30 +0100 |
| parents | 5161414caa3e |
| children | 0320b49ca013 |
comparison
equal
deleted
inserted
replaced
| 79:bcb6f8a547d5 | 80:b475320313e9 |
|---|---|
| 141 * assembly code to fail -- hard-codes offsets of fields | 141 * assembly code to fail -- hard-codes offsets of fields |
| 142 * (because -O3 messes with things otherwise) | 142 * (because -O3 messes with things otherwise) |
| 143 */ | 143 */ |
| 144 typedef struct | 144 typedef struct |
| 145 { | 145 { |
| 146 union{ //added padding, because this variable is written a lot by different cores | |
| 147 //thus invalidating a lot of the stucture | |
| 148 volatile int32 masterLock; | |
| 149 char padding[256]; | |
| 150 } masterLockUnion; | |
| 146 SlaveScheduler slaveScheduler; | 151 SlaveScheduler slaveScheduler; |
| 147 RequestHandler requestHandler; | 152 RequestHandler requestHandler; |
| 148 | 153 |
| 149 SchedSlot ***allSchedSlots; | 154 SchedSlot ***allSchedSlots; |
| 150 VMSQueueStruc **readyToAnimateQs; | 155 VMSQueueStruc **readyToAnimateQs; |
| 156 int32 amtOfOutstandingMem; //total currently allocated | 161 int32 amtOfOutstandingMem; //total currently allocated |
| 157 | 162 |
| 158 void *coreLoopReturnPt;//addr to jump to to re-enter coreLoop | 163 void *coreLoopReturnPt;//addr to jump to to re-enter coreLoop |
| 159 | 164 |
| 160 int32 setupComplete; | 165 int32 setupComplete; |
| 161 volatile int32 masterLock; | 166 //int32 numMasterInARow[NUM_CORES];//detect back-to-back masterVP |
| 162 | |
| 163 int32 numMasterInARow[NUM_CORES];//detect back-to-back masterVP | |
| 164 GateStruc *workStealingGates[ NUM_CORES ]; //concurrent work-steal | 167 GateStruc *workStealingGates[ NUM_CORES ]; //concurrent work-steal |
| 165 int32 workStealingLock; | 168 int32 workStealingLock; |
| 166 | 169 |
| 167 int32 numProcrsCreated; //gives ordering to processor creation | 170 int32 numProcrsCreated; //gives ordering to processor creation |
| 168 | 171 |
