]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR libgomp/43706 (scheduling two threads on one core leads to starvation)
authorJakub Jelinek <jakub@redhat.com>
Thu, 2 Dec 2010 14:31:27 +0000 (15:31 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 2 Dec 2010 14:31:27 +0000 (15:31 +0100)
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/ChangeLog
libgomp/env.c

index 7064d66979167c964e75cda8a439c9af5274ed97..4317202b211cfc196ec382437177d5a8c38933b6 100644 (file)
@@ -1,5 +1,10 @@
 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
 
+       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.
+
        PR libgomp/45240
        * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
        at the end if sync builtins aren't supported.
index 3eb51e8a7d6d8287bd002bf52f05063cd46e4075..92fa8c3749794880c1998a2175113e20d3afa011 100644 (file)
@@ -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.  */