Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/kernel.hfa

    r69914cbc r8cd5434  
    107107
    108108        // Link lists fields
    109         inline dlink(processor);
     109        DLISTED_MGD_IMPL_IN(processor)
    110110
    111111        // special init fields
     
    129129#endif
    130130};
    131 P9_EMBEDDED( processor, dlink(processor) )
    132131
    133132void  ?{}(processor & this, const char name[], struct cluster & cltr);
     
    137136static inline void  ?{}(processor & this, struct cluster & cltr) { this{ "Anonymous Processor", cltr}; }
    138137static inline void  ?{}(processor & this, const char name[])     { this{name, *mainCluster}; }
     138
     139DLISTED_MGD_IMPL_OUT(processor)
    139140
    140141//-----------------------------------------------------------------------------
     
    147148
    148149// Aligned timestamps which are used by the relaxed ready queue
    149 struct __attribute__((aligned(128))) __timestamp_t;
    150 void  ?{}(__timestamp_t & this);
    151 void ^?{}(__timestamp_t & this);
     150struct __attribute__((aligned(128))) __timestamp_t {
     151        volatile unsigned long long tv;
     152};
     153
     154static inline void  ?{}(__timestamp_t & this) { this.tv = 0; }
     155static inline void ^?{}(__timestamp_t & this) {}
    152156
    153157//TODO adjust cache size to ARCHITECTURE
     
    172176void  ?{}(__ready_queue_t & this);
    173177void ^?{}(__ready_queue_t & this);
     178#if !defined(__CFA_NO_STATISTICS__)
     179        unsigned cnt(const __ready_queue_t & this, unsigned idx);
     180#endif
    174181
    175182// Idle Sleep
     
    185192
    186193        // List of idle processors
    187         dlist(processor) idles;
     194        dlist(processor, processor) idles;
    188195
    189196        // List of active processors
    190         dlist(processor) actives;
     197        dlist(processor, processor) actives;
    191198};
    192199
Note: See TracChangeset for help on using the changeset viewer.