- File:
-
- 1 edited
-
libcfa/src/concurrency/kernel.hfa (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/kernel.hfa
rc18bf9e r2af1943 83 83 84 84 // Wrapper around kernel threads 85 struct __attribute__((aligned( 128))) processor {85 struct __attribute__((aligned(64))) processor { 86 86 // Cluster from which to get threads 87 87 struct cluster * cltr; … … 171 171 172 172 // Intrusives lanes which are used by the ready queue 173 struct __attribute__((aligned(128))) __intrusive_lane_t;173 union __attribute__((aligned(64))) __intrusive_lane_t; 174 174 void ?{}(__intrusive_lane_t & this); 175 175 void ^?{}(__intrusive_lane_t & this); 176 176 177 177 // Aligned timestamps which are used by the ready queue and io subsystem 178 struct __attribute__((aligned(128))) __timestamp_t { 179 volatile unsigned long long tv; 180 volatile unsigned long long ma; 181 }; 182 183 static inline void ?{}(__timestamp_t & this) { this.tv = 0; this.ma = 0; } 178 union __attribute__((aligned(64))) __timestamp_t { 179 struct { 180 volatile unsigned long long tv; 181 volatile unsigned long long ma; 182 } t; 183 char __padding[192]; 184 }; 185 186 static inline void ?{}(__timestamp_t & this) { this.t.tv = 0; this.t.ma = 0; } 184 187 static inline void ^?{}(__timestamp_t &) {} 185 188 … … 212 215 //----------------------------------------------------------------------------- 213 216 // Cluster 214 struct __attribute__((aligned( 128))) cluster {217 struct __attribute__((aligned(64))) cluster { 215 218 struct { 216 219 struct {
Note:
See TracChangeset
for help on using the changeset viewer.