Changeset 78a580d for libcfa/src/concurrency/kernel/cluster.hfa
- Timestamp:
- Mar 22, 2022, 3:28:29 PM (2 years ago)
- Branches:
- ADT, ast-experimental, enum, master, pthread-emulation, qualifiedEnum
- Children:
- ff7b2de
- Parents:
- 8f01ad71
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/kernel/cluster.hfa
r8f01ad71 r78a580d 16 16 #pragma once 17 17 18 #include "device/cpu.hfa" 18 19 #include "kernel/private.hfa" 20 21 #include "limits.hfa" 19 22 20 23 //----------------------------------------------------------------------- … … 31 34 const unsigned long long ret = ((new_weight * new_val) + (old_weight * old_avg)) / total_weight; 32 35 return ret; 36 } 37 38 static inline void touch_tsc(__timestamp_t * tscs, size_t idx, unsigned long long ts_prev, unsigned long long ts_next) { 39 if (ts_next == MAX) return; 40 unsigned long long now = rdtscl(); 41 unsigned long long pma = __atomic_load_n(&tscs[ idx ].ma, __ATOMIC_RELAXED); 42 __atomic_store_n(&tscs[ idx ].tv, ts_next, __ATOMIC_RELAXED); 43 __atomic_store_n(&tscs[ idx ].ma, moving_average(now, ts_prev, pma), __ATOMIC_RELAXED); 33 44 } 34 45
Note: See TracChangeset
for help on using the changeset viewer.