- File:
-
- 1 edited
-
libcfa/src/concurrency/kernel.hfa (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/kernel.hfa
r8bee858 rc18bf9e 35 35 // I/O 36 36 struct cluster; 37 struct io_context$;38 struct io_arbiter$;37 struct $io_context; 38 struct $io_arbiter; 39 39 40 40 struct io_context_params { … … 83 83 84 84 // Wrapper around kernel threads 85 struct __attribute__((aligned( 64))) processor {85 struct __attribute__((aligned(128))) processor { 86 86 // Cluster from which to get threads 87 87 struct cluster * cltr; … … 113 113 114 114 struct { 115 io_context$* ctx;115 $io_context * ctx; 116 116 unsigned target; 117 117 volatile bool pending; … … 171 171 172 172 // Intrusives lanes which are used by the ready queue 173 union __attribute__((aligned(64))) __intrusive_lane_t;173 struct __attribute__((aligned(128))) __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 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; } 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; } 187 184 static inline void ^?{}(__timestamp_t &) {} 188 185 … … 215 212 //----------------------------------------------------------------------------- 216 213 // Cluster 217 struct __attribute__((aligned( 64))) cluster {214 struct __attribute__((aligned(128))) cluster { 218 215 struct { 219 216 struct { … … 230 227 struct { 231 228 // Array of $io_ 232 io_context$** data;229 $io_context ** data; 233 230 234 231 // Time since subqueues were processed … … 267 264 268 265 struct { 269 io_arbiter$* arbiter;266 $io_arbiter * arbiter; 270 267 io_context_params params; 271 268 } io;
Note:
See TracChangeset
for help on using the changeset viewer.