From 4c698cf891a7d946b64d95ba89d6a0d255f40712 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 2 Dec 2010 15:31:27 +0100 Subject: re PR libgomp/43706 (scheduling two threads on one core leads to starvation) PR libgomp/43706 * env.c (initialize_env): Default to spin count 300000 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT is specified. From-SVN: r167371 --- libgomp/env.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libgomp/env.c') diff --git a/libgomp/env.c b/libgomp/env.c index 3eb51e8a7d6..92fa8c37497 100644 --- a/libgomp/env.c +++ b/libgomp/env.c @@ -502,14 +502,14 @@ initialize_env (void) { /* Using a rough estimation of 100000 spins per msec, use 5 min blocking for OMP_WAIT_POLICY=active, - 200 msec blocking when OMP_WAIT_POLICY is not specificed + 3 msec blocking when OMP_WAIT_POLICY is not specificed and 0 when OMP_WAIT_POLICY=passive. Depending on the CPU speed, this can be e.g. 5 times longer or 5 times shorter. */ if (wait_policy > 0) gomp_spin_count_var = 30000000000LL; else if (wait_policy < 0) - gomp_spin_count_var = 20000000LL; + gomp_spin_count_var = 300000LL; } /* gomp_throttled_spin_count_var is used when there are more libgomp managed threads than available CPUs. Use very short spinning. */ -- cgit v1.2.1