- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/kernel.cfa
rf2384c9a rdab09ad 103 103 // Do it here 104 104 kernelTLS.rand_seed ^= rdtscl(); 105 kernelTLS.ready_rng.fwd_seed = 25214903917_l64u * (rdtscl() ^ (uintptr_t)&runner);106 __tls_rand_advance_bck();107 105 108 106 processor * this = runner.proc; … … 534 532 unsigned total = this.total; 535 533 processor * proc = &this.list`first; 536 // Compilerfence is unnecessary, but gcc-8 and older incorrectly reorder code without it537 asm volatile("": : :"memory");534 // Thread fence is unnecessary, but gcc-8 and older incorrectly reorder code without it 535 __atomic_thread_fence(__ATOMIC_SEQ_CST); 538 536 if(l != __atomic_load_n(&this.lock, __ATOMIC_SEQ_CST)) { Pause(); continue; } 539 537 return [idle, total, proc];
Note:
See TracChangeset
for help on using the changeset viewer.