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