summaryrefslogtreecommitdiff
path: root/libgomp/config/linux/wait.h
diff options
context:
space:
mode:
Diffstat (limited to 'libgomp/config/linux/wait.h')
-rw-r--r--libgomp/config/linux/wait.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/libgomp/config/linux/wait.h b/libgomp/config/linux/wait.h
index 96d2fbe5f8..46a4615535 100644
--- a/libgomp/config/linux/wait.h
+++ b/libgomp/config/linux/wait.h
@@ -49,7 +49,9 @@ static inline int do_spin (int *addr, int val)
{
unsigned long long i, count = gomp_spin_count_var;
- if (__builtin_expect (gomp_managed_threads > gomp_available_cpus, 0))
+ if (__builtin_expect (__atomic_load_n (&gomp_managed_threads,
+ MEMMODEL_RELAXED)
+ > gomp_available_cpus, 0))
count = gomp_throttled_spin_count_var;
for (i = 0; i < count; i++)
if (__builtin_expect (__atomic_load_n (addr, MEMMODEL_RELAXED) != val, 0))