Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
diff 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 |
line diff
1.1 --- a/VMS.h Tue Dec 20 15:08:29 2011 +0100 1.2 +++ b/VMS.h Tue Dec 20 15:39:30 2011 +0100 1.3 @@ -143,6 +143,11 @@ 1.4 */ 1.5 typedef struct 1.6 { 1.7 + union{ //added padding, because this variable is written a lot by different cores 1.8 + //thus invalidating a lot of the stucture 1.9 + volatile int32 masterLock; 1.10 + char padding[256]; 1.11 + } masterLockUnion; 1.12 SlaveScheduler slaveScheduler; 1.13 RequestHandler requestHandler; 1.14 1.15 @@ -158,9 +163,7 @@ 1.16 void *coreLoopReturnPt;//addr to jump to to re-enter coreLoop 1.17 1.18 int32 setupComplete; 1.19 - volatile int32 masterLock; 1.20 - 1.21 - int32 numMasterInARow[NUM_CORES];//detect back-to-back masterVP 1.22 + //int32 numMasterInARow[NUM_CORES];//detect back-to-back masterVP 1.23 GateStruc *workStealingGates[ NUM_CORES ]; //concurrent work-steal 1.24 int32 workStealingLock; 1.25
