Changeset cd3fc46 for libcfa/src/concurrency/kernel/private.hfa
- Timestamp:
- Aug 17, 2022, 12:59:42 PM (2 years ago)
- Branches:
- ADT, ast-experimental, master, pthread-emulation
- Children:
- 8fca132
- Parents:
- aec2c022
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/kernel/private.hfa
raec2c022 rcd3fc46 186 186 union __attribute__((aligned(64))) __scheduler_RWLock_t { 187 187 struct { 188 __attribute__((aligned(64))) char padding; 189 188 190 // total cachelines allocated 189 unsigned int max;191 __attribute__((aligned(64))) unsigned int max; 190 192 191 193 // cachelines currently in use … … 208 210 void ^?{}(__scheduler_RWLock_t & this); 209 211 210 extern __scheduler_RWLock_t *__scheduler_lock;212 extern __scheduler_RWLock_t __scheduler_lock; 211 213 212 214 //----------------------------------------------------------------------- 213 215 // Reader side : acquire when using the ready queue to schedule but not 214 216 // creating/destroying queues 215 static inline void ready_schedule_lock(void) with(__scheduler_lock ->lock) {217 static inline void ready_schedule_lock(void) with(__scheduler_lock.lock) { 216 218 /* paranoid */ verify( ! __preemption_enabled() ); 217 219 /* paranoid */ verify( ! kernelTLS().in_sched_lock ); … … 238 240 } 239 241 240 static inline void ready_schedule_unlock(void) with(__scheduler_lock ->lock) {242 static inline void ready_schedule_unlock(void) with(__scheduler_lock.lock) { 241 243 /* paranoid */ verify( ! __preemption_enabled() ); 242 244 /* paranoid */ verify( data[kernelTLS().sched_id] == &kernelTLS().sched_lock ); … … 259 261 260 262 static inline bool ready_mutate_islocked() { 261 return __scheduler_lock ->lock.write_lock;263 return __scheduler_lock.lock.write_lock; 262 264 } 263 265 #endif
Note: See TracChangeset
for help on using the changeset viewer.