SPU: improve TSX usage

Reduce transaction failure amount
Remove vm::try_to_lock
This commit is contained in:
Nekotekina 2018-04-03 22:42:47 +03:00
parent d392379c7a
commit 2b5cf2455f
7 changed files with 361 additions and 221 deletions

View file

@ -992,9 +992,10 @@ constexpr FORCE_INLINE error_code::not_an_error not_an_error(const T& value)
}
// Synchronization helper (cache-friendly busy waiting)
inline void busy_wait(std::size_t count = 100)
inline void busy_wait(std::size_t cycles = 3000)
{
while (count--) _mm_pause();
const u64 s = __rdtsc();
do _mm_pause(); while (__rdtsc() - s < cycles);
}
// Rotate helpers