- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/kernel.hfa
r69914cbc r8cd5434 107 107 108 108 // Link lists fields 109 inline dlink(processor);109 DLISTED_MGD_IMPL_IN(processor) 110 110 111 111 // special init fields … … 129 129 #endif 130 130 }; 131 P9_EMBEDDED( processor, dlink(processor) )132 131 133 132 void ?{}(processor & this, const char name[], struct cluster & cltr); … … 137 136 static inline void ?{}(processor & this, struct cluster & cltr) { this{ "Anonymous Processor", cltr}; } 138 137 static inline void ?{}(processor & this, const char name[]) { this{name, *mainCluster}; } 138 139 DLISTED_MGD_IMPL_OUT(processor) 139 140 140 141 //----------------------------------------------------------------------------- … … 147 148 148 149 // 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); 150 struct __attribute__((aligned(128))) __timestamp_t { 151 volatile unsigned long long tv; 152 }; 153 154 static inline void ?{}(__timestamp_t & this) { this.tv = 0; } 155 static inline void ^?{}(__timestamp_t & this) {} 152 156 153 157 //TODO adjust cache size to ARCHITECTURE … … 172 176 void ?{}(__ready_queue_t & this); 173 177 void ^?{}(__ready_queue_t & this); 178 #if !defined(__CFA_NO_STATISTICS__) 179 unsigned cnt(const __ready_queue_t & this, unsigned idx); 180 #endif 174 181 175 182 // Idle Sleep … … 185 192 186 193 // List of idle processors 187 dlist(processor ) idles;194 dlist(processor, processor) idles; 188 195 189 196 // List of active processors 190 dlist(processor ) actives;197 dlist(processor, processor) actives; 191 198 }; 192 199
Note: See TracChangeset
for help on using the changeset viewer.