public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl
@ 2013-10-06 13:42 vincenzo.innocente at cern dot ch
  2013-10-06 13:56 ` [Bug libgomp/58642] " jakub at gcc dot gnu.org
                   ` (26 more replies)
  0 siblings, 27 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-06 13:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

            Bug ID: 58642
           Summary: gomp regression: not "honoring" anymore task set and
                    numactl
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgomp
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vincenzo.innocente at cern dot ch
                CC: jakub at gcc dot gnu.org

till
[gomp-4_0-branch revision 202766]


int main() {
   std::cout << "max thread "<< omp_get_max_threads() << std::endl;
}


taskset -c 0-3 ./a.out
max thread 4

now  [gomp-4_0-branch revision 203223]

taskset -c 0-3 ./a.out
max thread 32


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
@ 2013-10-06 13:56 ` jakub at gcc dot gnu.org
  2013-10-06 14:05 ` jakub at gcc dot gnu.org
                   ` (25 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-06 13:56 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Weird, can't reproduce.
/tmp/ttt
8
taskset -c 0-3 /tmp/ttt
4
ldd /tmp/ttt | grep libgomp
    libgomp.so.1 =>
/usr/src/gomp-4.0/obj/x86_64-unknown-linux-gnu/libgomp/.libs/libgomp.so.1
(0x00007fda5e2e8000)
strace /tmp/ttt 2>&1 | grep affinity
sched_getaffinity(30384, 8, {ff})       = 8
taskset -c 0-3 strace /tmp/ttt 2>&1 | grep affinity
sched_getaffinity(30389, 8, {f})        = 8

Do you have the default linux build (i.e. --enable-linux-futex), or one without
that (that doesn't honor affinity)?


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
  2013-10-06 13:56 ` [Bug libgomp/58642] " jakub at gcc dot gnu.org
@ 2013-10-06 14:05 ` jakub at gcc dot gnu.org
  2013-10-06 14:38 ` vincenzo.innocente at cern dot ch
                   ` (24 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-06 14:05 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
What exact glibc do you use?  I think the earliest that supports affinity in
libgomp should be 2.3, then between that and 2.7 there were multiple header
changes that the code just attempts to deal with using #ifdefs and finally 2.7
and newer should have the same headers as current glibc from what libgomp
needs.
I admit I have only tested it with glibc 2.17.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
  2013-10-06 13:56 ` [Bug libgomp/58642] " jakub at gcc dot gnu.org
  2013-10-06 14:05 ` jakub at gcc dot gnu.org
@ 2013-10-06 14:38 ` vincenzo.innocente at cern dot ch
  2013-10-06 15:15 ` vincenzo.innocente at cern dot ch
                   ` (23 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-06 14:38 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #3 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
strange indeed

rhel6: so is 2.12
or my own version
GNU C Library stable release version 2.13,

I build gcc by myself
c++ -v
Using built-in specs.
COLLECT_GCC=c++
COLLECT_LTO_WRAPPER=/afs/cern.ch/user/i/innocent/w2/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-gomp4/configure
--prefix=/afs/cern.ch/user/i/innocent/w2 --enable-languages=c,c++,lto,fortran
-enable-gold=yes --enable-lto --with-build-config=bootstrap-lto
--with-gmp-lib=/usr/local/lib64 --with-mpfr-lib=/usr/local/lib64
-with-mpc-lib=/usr/local/lib64 --enable-cloog-backend=isl
--with-cloog=/usr/local --with-ppl-lib=/usr/local/lib64 CFLAGS='-O2
-ftree-vectorize -fPIC' -enable-libitm -disable-multilib -disable-werror
--disable-libsanitizer

same since long time
behavior changed yestarday when finally got gomp4 compiling…
I get

on one machine
uname -a
Linux vinavx0.cern.ch 2.6.32-358.18.1.el6.x86_64 #1 SMP Wed Aug 28 09:02:47
CEST 2013 x86_64 x86_64 x86_64 GNU/Linux
innocent@vinavx0 parallel]$ taskset -c 0-3 strace ./a.out | & grep affinity
sched_getaffinity(17895, 8,  { f })     = 8
sched_getaffinity(17895, 128,  { f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}) = 128
sched_setaffinity(17895, 8,  { 1 })     = 0
[innocent@vinavx0 parallel]$ taskset -c 0-7 strace ./a.out | & grep affinity
sched_getaffinity(17898, 8,  { ff })    = 8
sched_getaffinity(17898, 128,  { ff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0 }) = 128
sched_setaffinity(17898, 8,  { 1 })     = 0
[innocent@vinavx0 parallel]$ taskset -c 0-3 ./a.out
max thread 4
[innocent@vinavx0 parallel]$ taskset -c 0-7 ./a.out
max thread 8
and indeed on this works


on the Xeon where I'm doing all tests (identical software stack: it's on shared
disks)

uname -a
Linux olsnba03 2.6.32-358.2.1.el6.x86_64 #1 SMP Wed Mar 13 08:24:06 CET 2013
x86_64 x86_64 x86_64 GNU/Linux

taskset -c 0-3 strace ./a.out | & grep affinity
sched_getaffinity(80664, 8, 0x1a69010)  = -1 EINVAL (Invalid argument)


some with a different kernel
[innocent@olsnba04 parallel]$ uname -a
Linux olsnba04 3.10.2-1.el6.elrepo.x86_64 #1 SMP Mon Jul 22 12:18:13 EDT 2013
x86_64 x86_64 x86_64 GNU/Linux
[innocent@olsnba04 parallel]$ strace ./a.out | & grep affinity
sched_getaffinity(55293, 8, 0x225b010)  = -1 EINVAL (Invalid argument)
[innocent@olsnba04 parallel]$ taskset -c 0-3 strace ./a.out | & grep affinity
sched_getaffinity(55297, 8, 0xbca010)   = -1 EINVAL (Invalid argument)
[innocent@olsnba04 parallel]$ 

libgc always 2.13


on this very same machine tried the test program in man page
cat affTest.cpp 
#define _GNU_SOURCE

#include <sched.h>
#include <stdio.h>
#include <errno.h>

          int main(void)
          {
               cpu_set_t *mask;
               size_t size;
               int i;
               int nrcpus = 1024;

       realloc:
               mask = CPU_ALLOC(nrcpus);
               size = CPU_ALLOC_SIZE(nrcpus);
               CPU_ZERO_S(size, mask);
               if ( sched_getaffinity(0, size, mask) == -1 ) {
                       CPU_FREE(mask);
                       if (errno == EINVAL &&
                           nrcpus < (1024 << 8)) {
                              nrcpus = nrcpus << 2;
                              goto realloc;
                       }
                       perror("sched_getaffinity");
                       return -1;
               }

               for ( i = 0; i < nrcpus; i++ ) {
                       if ( CPU_ISSET_S(i, size, mask) ) {
                               printf("CPU %d is set\n", (i+1));
                       }
               }

               CPU_FREE(mask);

               return 0;
          }
gcc affTest.cpp 
./a.out
CPU 1 is set
CPU 2 is set
CPU 3 is set
CPU 4 is set
CPU 5 is set
CPU 6 is set
CPU 7 is set
CPU 8 is set
CPU 9 is set
CPU 10 is set
CPU 11 is set
CPU 12 is set
CPU 13 is set
CPU 14 is set
CPU 15 is set
CPU 16 is set
CPU 17 is set
CPU 18 is set
CPU 19 is set
CPU 20 is set
CPU 21 is set
CPU 22 is set
CPU 23 is set
CPU 24 is set
CPU 25 is set
CPU 26 is set
CPU 27 is set
CPU 28 is set
CPU 29 is set
CPU 30 is set
CPU 31 is set
CPU 32 is set
[innocent@olsnba04 parallel]$ taskset -c 0-3 ./a.out
CPU 1 is set
CPU 2 is set
CPU 3 is set
CPU 4 is set
[innocent@olsnba04 parallel]$ taskset -c 0-3 strace ./a.out  |& grep aff
sched_getaffinity(0, 128,  { f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 })
= 128
[innocent@olsnba04 parallel]$ strace ./a.out | & grep aff
sched_getaffinity(0, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0 }) = 128


BUT
c++ -Ofast -fopenmp -std=c++11 affTest.cpp
affTest.cpp:1:0: warning: "_GNU_SOURCE" redefined [enabled by default]
 #define _GNU_SOURCE
 ^
<command-line>:0:0: note: this is the location of the previous definition
[innocent@olsnba04 parallel]$ strace ./a.out | & grep aff
sched_getaffinity(55390, 8, 0x1709010)  = -1 EINVAL (Invalid argument)
sched_getaffinity(0, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0 }) = 128
>From gcc-bugs-return-431187-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sun Oct 06 14:43:13 2013
Return-Path: <gcc-bugs-return-431187-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 5566 invoked by alias); 6 Oct 2013 14:43:13 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 5521 invoked by uid 55); 6 Oct 2013 14:43:10 -0000
From: "paolo at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/56060] ICE on invalid code in type_dependent_expression_p, at cp/pt.c:19742
Date: Sun, 06 Oct 2013 14:43:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Version: 4.8.0
X-Bugzilla-Keywords: ice-on-invalid-code
X-Bugzilla-Severity: minor
X-Bugzilla-Who: paolo at gcc dot gnu.org
X-Bugzilla-Status: ASSIGNED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: paolo.carlini at oracle dot com
X-Bugzilla-Target-Milestone: 4.9.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-56060-4-tKXvqtb8Hl@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-56060-4@http.gcc.gnu.org/bugzilla/>
References: <bug-56060-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2013-10/txt/msg00331.txt.bz2
Content-length: 682

http://gcc.gnu.org/bugzilla/show_bug.cgi?idV060

--- Comment #4 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> ---
Author: paolo
Date: Sun Oct  6 14:43:07 2013
New Revision: 203229

URL: http://gcc.gnu.org/viewcvs?rev 3229&root=gcc&view=rev
Log:
/cp
2013-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

    PR c++/56060
    * pt.c (type_dependent_expression_p): Handle EXPR_PACK_EXPANSION.

/testsuite
2013-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

    PR c++/56060
    * g++.dg/cpp0x/variadic144.C: New.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/variadic144.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/pt.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (2 preceding siblings ...)
  2013-10-06 14:38 ` vincenzo.innocente at cern dot ch
@ 2013-10-06 15:15 ` vincenzo.innocente at cern dot ch
  2013-10-06 18:02 ` jakub at gcc dot gnu.org
                   ` (22 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-06 15:15 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #4 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
24 thread machine ok

innocent@vocms19 parallel]$ c++ -Ofast -std=c++11 -fopenmp simpleOMP.cpp
[innocent@vocms19 parallel]$ ./a.out
max thread 24
[innocent@vocms19 parallel]$ taskset -c 0-3 ./a.out
max thread 4

strace ./a.out | & grep affi
sched_getaffinity(9720, 8,  { ffffff }) = 8
[innocent@vocms19 parallel]$ taskset -c 0-3 strace ./a.out | & grep affi
sched_getaffinity(9723, 8,  { f })      = 8


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (3 preceding siblings ...)
  2013-10-06 15:15 ` vincenzo.innocente at cern dot ch
@ 2013-10-06 18:02 ` jakub at gcc dot gnu.org
  2013-10-06 19:31 ` jakub at gcc dot gnu.org
                   ` (21 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-06 18:02 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So, looking at kernel sources, it seems it returns EINVAL:
        if ((len * BITS_PER_BYTE) < nr_cpu_ids)
                return -EINVAL;
so the question is how to find what your nr_cpu_ids is and how to (cheaply)
query it from userland.
I was using sysconf (_SC_NPROCESSORS_CONF) for that, which is what I saw when
googling around for what upper bound to pass to pthread_getaffinity_np when I
want to dynamically support more than 1024 CPUs, but thought it would work fine
to pass just CPU_ALLOC_SIZE of the sysconf return value.
What do you get from
getconf -a | grep _NPROCESSORS
?  What is the minimum cpusetsize that pthread_getaffinity_np doesn't fail
with?
ls -l /sys/devices/system/cpu/
?  I'd strongly prefer not to use say minimum of CPU_ALLOC_SIZE (sysconf
(_SC_NPROCESSORS_CONF)) and CPUSETSIZE, I need cpusetsize sized bitmap for
every place in the OMP_PLACES list (or every thread, core resp. socket), so
having to allocate 128 bytes per each rather than say 8 on <= 64 CPU box sounds
overkill to me.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (4 preceding siblings ...)
  2013-10-06 18:02 ` jakub at gcc dot gnu.org
@ 2013-10-06 19:31 ` jakub at gcc dot gnu.org
  2013-10-07  6:49 ` vincenzo.innocente at cern dot ch
                   ` (20 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-06 19:31 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Also, can you dmesg | grep 'Allowing.*CPUs'
(or grep /var/log/messages* for the same)?


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (5 preceding siblings ...)
  2013-10-06 19:31 ` jakub at gcc dot gnu.org
@ 2013-10-07  6:49 ` vincenzo.innocente at cern dot ch
  2013-10-07  6:53 ` vincenzo.innocente at cern dot ch
                   ` (19 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-07  6:49 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #7 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
getconf -a | grep _NPROCESSORS
_NPROCESSORS_CONF                  32
_NPROCESSORS_ONLN                  32


ls -l /sys/devices/system/cpu/
total 0
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu0
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu1
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu10
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu11
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu12
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu13
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu14
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu15
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu16
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu17
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu18
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu19
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu2
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu20
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu21
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu22
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu23
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu24
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu25
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu26
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu27
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu28
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu29
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu3
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu30
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu31
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu4
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu5
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu6
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu7
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu8
drwxr-xr-x 8 root root    0 Sep  2 17:44 cpu9
drwxr-xr-x 2 root root    0 Sep  2 17:45 cpufreq
drwxr-xr-x 2 root root    0 Sep  2 17:45 cpuidle
drwxr-xr-x 2 root root    0 Oct  7 08:43 intel_pstate
-r--r--r-- 1 root root 4096 Oct  7 08:43 kernel_max
-r--r--r-- 1 root root 4096 Oct  7 08:43 modalias
-r--r--r-- 1 root root 4096 Oct  7 08:43 offline
-r--r--r-- 1 root root 4096 Sep  2 18:06 online
-r--r--r-- 1 root root 4096 Oct  7 08:43 possible
drwxr-xr-x 2 root root    0 Oct  7 08:43 power
-r--r--r-- 1 root root 4096 Oct  7 08:43 present
--w------- 1 root root 4096 Oct  7 08:43 probe
--w------- 1 root root 4096 Oct  7 08:43 release
-rw-r--r-- 1 root root 4096 Oct  7 08:43 uevent

dmesg | grep 'Allowing.*CPUs'
smpboot: Allowing 128 CPUs, 96 hotplug CPUs

#include <sched.h>
#include <stdio.h>
#include <errno.h>

          int main(void)
          {
               cpu_set_t  k[32];
               sched_getaffinity(0, 8, k); 
               sched_getaffinity(0, 10, k);
               sched_getaffinity(0, 12, k);
               sched_getaffinity(0, 16, k);


strace ./a.out |& grep affin
sched_getaffinity(0, 8, 0x7fffbcf19420) = -1 EINVAL (Invalid argument)
sched_getaffinity(0, 10, 0x7fffbcf19420) = -1 EINVAL (Invalid argument)
sched_getaffinity(0, 12, 0x7fffbcf19420) = -1 EINVAL (Invalid argument)
sched_getaffinity(0, 16,  { ffffffff, 0 }) = 16


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (6 preceding siblings ...)
  2013-10-07  6:49 ` vincenzo.innocente at cern dot ch
@ 2013-10-07  6:53 ` vincenzo.innocente at cern dot ch
  2013-10-07  7:47 ` jakub at gcc dot gnu.org
                   ` (18 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-07  6:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #8 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
do you have access to a >32 cpu machine?
btw on XEON-PHI one can have >200 "cpus"


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (7 preceding siblings ...)
  2013-10-07  6:53 ` vincenzo.innocente at cern dot ch
@ 2013-10-07  7:47 ` jakub at gcc dot gnu.org
  2013-10-07  7:58 ` vincenzo.innocente at cern dot ch
                   ` (17 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-07  7:47 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2013-10-07
           Assignee|unassigned at gcc dot gnu.org      |jakub at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 30964
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30964&action=edit
gomp-pr58642.patch

Can you please try this patch?  From the above it seems there is no easy way to
find out what is the minimum size to make pthread_getaffinity_np pass, on the
other side it should be fine to pass smaller size to pthread_setaffinity_np.
So, what the patch tries to do is if the initial pthread_getaffinity_np failed
with EINVAL, it will retry with larger sizes, and, once it succeeds, tries to
find out the required minimum size that covers all the currently available
CPUs.
The minimum size for successful pthread_getaffinity_np will then be used for
further pthread_getaffinity_np calls, while gomp_cpuset_size will be used for
the places bitmasks and pthread_setaffinity_np calls.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (8 preceding siblings ...)
  2013-10-07  7:47 ` jakub at gcc dot gnu.org
@ 2013-10-07  7:58 ` vincenzo.innocente at cern dot ch
  2013-10-07  8:04 ` jakub at gcc dot gnu.org
                   ` (16 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-07  7:58 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #10 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
seems working

[innocent@olsnba04 parallel]$ c++ -std=c++11 -Ofast -fopenmp simpleOMP.cpp 
[innocent@olsnba04 parallel]$ ./a.out 
max thread 32
[innocent@olsnba04 parallel]$ taskset -c 0-3 ./a.out
max thread 4
[innocent@olsnba04 parallel]$ taskset -c 0-3 strace ./a.out |& grep aff
sched_getaffinity(72698, 8, 0x855010)   = -1 EINVAL (Invalid argument)
sched_getaffinity(72698, 128,  { f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}) = 128
[innocent@olsnba04 parallel]$ taskset -c 0-15 strace ./a.out | & grep aff
sched_getaffinity(72702, 8, 0x1b2e010)  = -1 EINVAL (Invalid argument)
sched_getaffinity(72702, 128,  { ffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0 }) = 128
[innocent@olsnba04 parallel]$ strace ./a.out | & grep aff
sched_getaffinity(72705, 8, 0x25ff010)  = -1 EINVAL (Invalid argument)
sched_getaffinity(72705, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (9 preceding siblings ...)
  2013-10-07  7:58 ` vincenzo.innocente at cern dot ch
@ 2013-10-07  8:04 ` jakub at gcc dot gnu.org
  2013-10-07  8:06 ` jakub at gcc dot gnu.org
                   ` (15 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-07  8:04 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to vincenzo Innocente from comment #10)
> seems working

Thanks.  Can you please also try some simple (with -fopenmp):
int
main (void)
{
  #pragma omp parallel num_threads (32)
  asm volatile ("" : : : "memory");
  return 0;
}
with OMP_PROC_BIND=true and OMP_PLACES='threads'
(resp. cores resp. sockets resp. say {0:4}:4:8)
and post the strace -f sched_[sg]etaffinity syscalls from that?
I'd like to see whether it managed to properly use just size 8 for the
setaffinity syscalls, while 128 for getaffinity.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (10 preceding siblings ...)
  2013-10-07  8:04 ` jakub at gcc dot gnu.org
@ 2013-10-07  8:06 ` jakub at gcc dot gnu.org
  2013-10-07  8:08 ` vincenzo.innocente at cern dot ch
                   ` (14 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-07  8:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Ah, and can you also do make check RUNTESTFLAGS=c.exp=affinity-1.c
in the libgomp build directory and see whether it was PASS and, if
testsuite/libgomp.log contains any lines ending with verified and none matching
'expected.*instead' regexp?


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (11 preceding siblings ...)
  2013-10-07  8:06 ` jakub at gcc dot gnu.org
@ 2013-10-07  8:08 ` vincenzo.innocente at cern dot ch
  2013-10-07  8:12 ` vincenzo.innocente at cern dot ch
                   ` (13 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-07  8:08 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #13 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
[innocent@olsnba04 parallel]$ setenv OMP_PROC_BIND true; setenv  OMP_PLACES
'threads'
[innocent@olsnba04 parallel]$ gcc -fopenmp trivialOMP.cpp 
[innocent@olsnba04 parallel]$ ./a.out 
[innocent@olsnba04 parallel]$ stace ./a.out |& grep aff
[innocent@olsnba04 parallel]$ strace ./a.out | & grep aff
sched_getaffinity(72881, 8, 0xc5c010)   = -1 EINVAL (Invalid argument)
sched_getaffinity(72881, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_getaffinity(72881, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_setaffinity(72881, 8,  { 1 })     = 0
sched_setaffinity(72882, 8,  { 2 })     = 0
sched_setaffinity(72883, 8,  { 4 })     = 0
sched_setaffinity(72884, 8,  { 8 })     = 0
sched_setaffinity(72885, 8,  { 10 })    = 0
sched_setaffinity(72886, 8,  { 20 })    = 0
sched_setaffinity(72887, 8,  { 40 })    = 0
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK,
-1, 0) = 0x7f5e9aff5000
mprotect(0x7f5e9aff5000, 4096, PROT_NONE) = 0
sched_setaffinity(72888, 8,  { 80 })    = 0
clone(child_stack=0x7f5e9aff3f90,
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED,
parent_tidptr=0x7f5e9aff49d0, tls=0x7f5e9aff4700, child_tidptr=0x7f5e9aff49d0)
= 72889
sched_setaffinity(72889, 8,  { 100 })   = 0
futex(0x7f5e9aff4d18, FUTEX_WAKE_PRIVATE, 1) = 1
sched_setaffinity(72890, 8,  { 200 })   = 0
sched_setaffinity(72891, 8,  { 400 })   = 0
sched_setaffinity(72892, 8,  { 800 })   = 0
sched_setaffinity(72893, 8,  { 1000 })  = 0
sched_setaffinity(72894, 8,  { 2000 })  = 0
sched_setaffinity(72895, 8,  { 4000 })  = 0
sched_setaffinity(72896, 8,  { 8000 })  = 0
sched_setaffinity(72897, 8,  { 10000 }) = 0
sched_setaffinity(72898, 8,  { 20000 }) = 0
sched_setaffinity(72899, 8,  { 40000 }) = 0
sched_setaffinity(72900, 8,  { 80000 }) = 0
sched_setaffinity(72901, 8,  { 100000 }) = 0
sched_setaffinity(72902, 8,  { 200000 }) = 0
sched_setaffinity(72903, 8,  { 400000 }) = 0
sched_setaffinity(72904, 8,  { 800000 }) = 0
sched_setaffinity(72905, 8,  { 1000000 }) = 0
sched_setaffinity(72906, 8,  { 2000000 }) = 0
sched_setaffinity(72907, 8,  { 4000000 }) = 0
sched_setaffinity(72908, 8,  { 8000000 }) = 0
sched_setaffinity(72909, 8,  { 10000000 }) = 0
sched_setaffinity(72910, 8,  { 20000000 }) = 0
sched_setaffinity(72911, 8,  { 40000000 }) = 0
sched_setaffinity(72912, 8,  { 80000000 }) = 0
[innocent@olsnba04 parallel]$ strace -f ./a.out | & grep aff
sched_getaffinity(72917, 8, 0x1bd8010)  = -1 EINVAL (Invalid argument)
sched_getaffinity(72917, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_getaffinity(72917, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_setaffinity(72917, 8,  { 1 })     = 0
[pid 72917] sched_setaffinity(72918, 8,  { 2 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72919, 8,  { 4 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72920, 8,  { 8 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72921, 8,  { 10 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72922, 8,  { 20 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72923, 8,  { 40 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72924, 8,  { 80 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72925, 8,  { 100 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72926, 8,  { 200 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72927, 8,  { 400 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72928, 8,  { 800 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72929, 8,  { 1000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72930, 8,  { 2000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72931, 8,  { 4000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72932, 8,  { 8000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72933, 8,  { 10000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72934, 8,  { 20000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72935, 8,  { 40000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72936, 8,  { 80000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72937, 8,  { 100000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72938, 8,  { 200000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72939, 8,  { 400000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72940, 8,  { 800000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72941, 8,  { 1000000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72942, 8,  { 2000000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72943, 8,  { 4000000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72944, 8,  { 8000000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72945, 8,  { 10000000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72946, 8,  { 20000000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72947, 8,  { 40000000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0
[pid 72917] sched_setaffinity(72948, 8,  { 80000000 } <unfinished ...>
[pid 72917] <... sched_setaffinity resumed> ) = 0


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (12 preceding siblings ...)
  2013-10-07  8:08 ` vincenzo.innocente at cern dot ch
@ 2013-10-07  8:12 ` vincenzo.innocente at cern dot ch
  2013-10-07 10:14 ` vincenzo.innocente at cern dot ch
                   ` (12 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-07  8:12 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #14 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
On 7 Oct, 2013, at 10:06 AM, jakub at gcc dot gnu.org
<gcc-bugzilla@gcc.gnu.org> wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642
> 
> --- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> Ah, and can you also do make check RUNTESTFLAGS=c.exp=affinity-1.c
> in the libgomp build directory and see whether it was PASS and, if
> testsuite/libgomp.log contains any lines ending with verified and none matching
> 'expected.*instead' regexp?
> 
for "historical reason" I build gcc on my local workstation not on the XEON.
Also I do not have the gcc test infrastructure…

can I copy any of those test on the 32 cpu machine and run it locally?

v.


>
>From gcc-bugs-return-431232-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon Oct 07 08:18:53 2013
Return-Path: <gcc-bugs-return-431232-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 8891 invoked by alias); 7 Oct 2013 08:18:52 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 8632 invoked by uid 48); 7 Oct 2013 08:18:48 -0000
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
Date: Mon, 07 Oct 2013 08:18:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: libgomp
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jakub at gcc dot gnu.org
X-Bugzilla-Status: ASSIGNED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: jakub at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-58642-4-MyKegPGDhD@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-58642-4@http.gcc.gnu.org/bugzilla/>
References: <bug-58642-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2013-10/txt/msg00376.txt.bz2
Content-length: 718

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to vincenzo Innocente from comment #14)
> for "historical reason" I build gcc on my local workstation not on the XEON.
> Also I do not have the gcc test infrastructure…
> 
> can I copy any of those test on the 32 cpu machine and run it locally?

Sure, do make check RUNTESTFLAGS=c.exp=affinity-1.c
on your build box then, then cd testsuite/
grep affinity-1.exe libgomp.log
and copy the gcc command line to compile/link it, paste into shell, scp
affinity-1.exe to your 32way box, and run with
OMP_PROC_BIND=false ./affinity-1.exp
(against the new libgomp.so.1 of course).
>From gcc-bugs-return-431234-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon Oct 07 08:32:59 2013
Return-Path: <gcc-bugs-return-431234-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 21525 invoked by alias); 7 Oct 2013 08:32:58 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 21118 invoked by uid 48); 7 Oct 2013 08:32:55 -0000
From: "mpolacek at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/58653] [4.7/4.8/4.9 Regression] wrong code (segfaults) at -O3 on x86_64-linux-gnu in 64-bit mode (affecting gcc 4.6 to trunk)
Date: Mon, 07 Oct 2013 08:32:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: mpolacek at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status cf_reconfirmed_on cc short_desc everconfirmed
Message-ID: <bug-58653-4-DTxuGuGcS4@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-58653-4@http.gcc.gnu.org/bugzilla/>
References: <bug-58653-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2013-10/txt/msg00378.txt.bz2
Content-length: 923

http://gcc.gnu.org/bugzilla/show_bug.cgi?idX653

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-10-07
                 CC|                            |mpolacek at gcc dot gnu.org
            Summary|wrong code (segfaults) at   |[4.7/4.8/4.9 Regression]
                   |-O3 on x86_64-linux-gnu in  |wrong code (segfaults) at
                   |64-bit mode (affecting gcc  |-O3 on x86_64-linux-gnu in
                   |4.6 to trunk)               |64-bit mode (affecting gcc
                   |                            |4.6 to trunk)
     Ever confirmed|0                           |1

--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Confirmed.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (13 preceding siblings ...)
  2013-10-07  8:12 ` vincenzo.innocente at cern dot ch
@ 2013-10-07 10:14 ` vincenzo.innocente at cern dot ch
  2013-10-07 10:28 ` jakub at gcc dot gnu.org
                   ` (11 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-07 10:14 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #16 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
./affinity-1.exe 

Initial thread
#1 thread 1
#1 thread 0
#1 thread 3
#1 thread 2
#1,#1 thread 3,1
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#2 thread 3,4
#1,#2 thread 3,0
#1,#2 thread 3,1
#1,#2 thread 3,3
#1,#2 thread 3,2
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,1
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,3
#1,#3 thread 3,2
#1,#3 thread 3,3
#1,#3 thread 3,1
#1,#3 thread 3,0
#1,#4 thread 3,2
#1,#4 thread 3,5
#1,#4 thread 3,4
#1,#4 thread 3,1
#1,#4 thread 3,3
#1,#4 thread 3,0
#2 thread 3
#2 thread 0
#2 thread 1
#2 thread 2
#2 thread 4
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,0
#2,#2 thread 3,1
#2,#2 thread 3,2
#2,#2 thread 3,3
#2,#2 thread 3,4
#2,#3 thread 3,0
#2,#3 thread 3,1
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#4 thread 3,2
#2,#4 thread 3,4
#2,#4 thread 3,3
#2,#4 thread 3,5
#2,#4 thread 3,1
#2,#4 thread 3,0
#3 thread 1
#3 thread 0
#3 thread 2
#3,#1 thread 2,1
#3,#1 thread 2,3
#3,#1 thread 2,0
#3,#1 thread 2,2
#3,#2 thread 2,1
#3,#2 thread 2,3
#3,#2 thread 2,0
#3,#2 thread 2,2
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,1
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,1
#3,#2,#2 thread 2,3,2
#3,#3 thread 2,0
#3,#3 thread 2,1
#3,#3 thread 2,2
#3,#3 thread 2,3
#3,#4 thread 2,2
#3,#4 thread 2,0
#3,#4 thread 2,5
#3,#4 thread 2,3
#3,#4 thread 2,4
#3,#4 thread 2,1
#4 thread 3
#4 thread 2
#4 thread 4
#4 thread 1
#4 thread 0
#4,#1 thread 2,0
#4,#1 thread 2,2
#4,#1 thread 2,3
#4,#1 thread 2,1
#4,#2 thread 2,2
#4,#2 thread 2,0
#4,#2 thread 2,1
#4,#2 thread 2,3
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,1
#4,#2,#2 thread 2,2,1
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,0
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,3
#4,#2,#3 thread 2,3,1
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,4
#4,#3 thread 2,2
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,1
#4,#4 thread 2,1
#4,#4 thread 2,2
#4,#4 thread 2,0
#4,#4 thread 2,5
#4,#4 thread 2,4
#4,#4 thread 2,3

[innocent@olsnba04 parallel]$ setenv OMP_PROC_BIND false
[innocent@olsnba04 parallel]$ ./affinity-1.exe
OMP_PROC_BIND='false'
Initial thread
#1 thread 1
#1 thread 3
#1 thread 2
#1 thread 0
#1,#1 thread 3,0
#1,#1 thread 3,1
#1,#1 thread 3,2
#1,#2 thread 3,1
#1,#2 thread 3,3
#1,#2 thread 3,0
#1,#2 thread 3,4
#1,#2 thread 3,2
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,1
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,2
#1,#3 thread 3,1
#1,#3 thread 3,3
#1,#3 thread 3,0
#1,#3 thread 3,2
#1,#4 thread 3,0
#1,#4 thread 3,5
#1,#4 thread 3,4
#1,#4 thread 3,3
#1,#4 thread 3,2
#1,#4 thread 3,1
#2 thread 0
#2 thread 4
#2 thread 3
#2 thread 2
#2 thread 1
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,2
#2,#2 thread 3,3
#2,#2 thread 3,1
#2,#2 thread 3,0
#2,#2 thread 3,4
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#3 thread 3,0
#2,#4 thread 3,4
#2,#4 thread 3,5
#2,#4 thread 3,3
#2,#4 thread 3,1
#2,#4 thread 3,0
#2,#4 thread 3,2
#3 thread 1
#3 thread 2
#3 thread 0
#3,#1 thread 2,1
#3,#1 thread 2,2
#3,#1 thread 2,3
#3,#1 thread 2,0
#3,#2 thread 2,0
#3,#2 thread 2,1
#3,#2 thread 2,2
#3,#2 thread 2,3
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,1
#3,#2,#1 thread 2,0,0
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,1
#3,#3 thread 2,2
#3,#3 thread 2,1
#3,#3 thread 2,3
#3,#3 thread 2,0
#3,#4 thread 2,3
#3,#4 thread 2,1
#3,#4 thread 2,4
#3,#4 thread 2,2
#3,#4 thread 2,0
#3,#4 thread 2,5
#4 thread 3
#4 thread 2
#4 thread 1
#4 thread 4
#4 thread 0
#4,#1 thread 2,0
#4,#1 thread 2,1
#4,#1 thread 2,2
#4,#1 thread 2,3
#4,#2 thread 2,0
#4,#2 thread 2,2
#4,#2 thread 2,1
#4,#2 thread 2,3
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,1
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,4
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,1
#4,#2,#3 thread 2,3,1
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,3
#4,#3 thread 2,1
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#4 thread 2,0
#4,#4 thread 2,3
#4,#4 thread 2,4
#4,#4 thread 2,5
#4,#4 thread 2,2
#4,#4 thread 2,1
[innocent@olsnba04 parallel]$


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (14 preceding siblings ...)
  2013-10-07 10:14 ` vincenzo.innocente at cern dot ch
@ 2013-10-07 10:28 ` jakub at gcc dot gnu.org
  2013-10-07 11:03 ` vincenzo.innocente at cern dot ch
                   ` (10 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-07 10:28 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #17 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to vincenzo Innocente from comment #16)
> [innocent@olsnba04 parallel]$ setenv OMP_PROC_BIND false
> [innocent@olsnba04 parallel]$ ./affinity-1.exe
> OMP_PROC_BIND='false'
> Initial thread
> #1 thread 1
> #1 thread 3
> #1 thread 2
> #1 thread 0
...

Thanks, though not what I was hoping to see.  What glibc do you have on the
build box where you compiled the testcase?  If it is too old (doesn't have
CPU_ALLOC_SIZE macro defined), or -DINTERPOSE_GETAFFINITY -DDO_FORK isn't
defined, or config.h doesn't defined HAVE_PTHREAD_AFFINITY_NP, then that's
expected.  Or is the output running under taskset -c 0-3 ?  The test verifies
things only if the initial affinity bitmask contains at least logical CPUs from
0 to 7 inclusive.
What I'm getting and expect is something like:
OMP_PROC_BIND='true' OMP_PLACES='{0,1},{3,2,4},{6,5,!6},{6},{7:2:-1,!6}'
Initial thread bound to {0:2}, verified
#1 thread 2 bound to {5}
#1 thread 0 bound to {0:2}
#1 thread 3 bound to {6}
#1 thread 1 bound to {2:3}
...
#1,#4 thread 3,5 bound to {6}
#2 thread 0 bound to {0:2}, verified
#2 thread 2 bound to {5}, verified
#2 thread 1 bound to {2:3}, verified
...
#4,#4 thread 2,0 bound to {5}, verified
#4,#4 thread 2,5 bound to {5}, verified
OMP_PROC_BIND='true' OMP_PLACES='{1}:7:1'
Initial thread bound to {1}, verified
...
(", verified" shouldn't be on lines starting with #1 if the header says
OMP_PROC_BIND='true').


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (15 preceding siblings ...)
  2013-10-07 10:28 ` jakub at gcc dot gnu.org
@ 2013-10-07 11:03 ` vincenzo.innocente at cern dot ch
  2013-10-07 11:06 ` vincenzo.innocente at cern dot ch
                   ` (9 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-07 11:03 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #18 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
On 7 Oct, 2013, at 12:27 PM, jakub at gcc dot gnu.org
<gcc-bugzilla@gcc.gnu.org> wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642
> 
> --- Comment #17 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> (In reply to vincenzo Innocente from comment #16)
>> [innocent@olsnba04 parallel]$ setenv OMP_PROC_BIND false
>> [innocent@olsnba04 parallel]$ ./affinity-1.exe
>> OMP_PROC_BIND='false'
>> Initial thread
>> #1 thread 1
>> #1 thread 3
>> #1 thread 2
>> #1 thread 0
> ...
> 
> Thanks, though not what I was hoping to see.  What glibc do you have on the
> build box where you compiled the testcase?

on the build machine
[innocent@vinavx0 testsuite]$ /home/data/newsoft/gcc-build/gcc/xgcc
-B/home/data/newsoft/gcc-build/gcc/
/home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c 
-B/home/data/newsoft/gcc-build/x86_64-unknown-linux-gnu/./libgomp/
-B/home/data/newsoft/gcc-build/x86_64-unknown-linux-gnu/./libgomp/.libs
-I/home/data/newsoft/gcc-build/x86_64-unknown-linux-gnu/./libgomp
-I/home/data/newsoft/gcc-gomp4/libgomp/testsuite/.. -fmessage-length=0
-fno-diagnostics-show-caret -fopenmp  -O2 -DINTERPOSE_GETAFFINITY -DDO_FORK
-ldl   -L/home/data/newsoft/gcc-build/x86_64-unknown-linux-gnu/./libgomp/.libs
-lm   -o ./affinity-1.exe  
[innocent@vinavx0 testsuite]$ ls
Makefile  affinity-1.exe  libgomp.log  libgomp.sum  site.exp
[innocent@vinavx0 testsuite]$ ./affinity-1.exe 

Initial thread bound to {0:8}
#1 thread 1 bound to {0:8}
#1 thread 3 bound to {0:8}
#1 thread 0 bound to {0:8}
#1 thread 2 bound to {0:8}
#1,#1 thread 3,1 bound to {0:8}
#1,#1 thread 3,0 bound to {0:8}
#1,#1 thread 3,2 bound to {0:8}
#1,#2 thread 3,3 bound to {0:8}
#1,#2 thread 3,1 bound to {0:8}
#1,#2 thread 3,0 bound to {0:8}
#1,#2 thread 3,2 bound to {0:8}
#1,#2 thread 3,4 bound to {0:8}
#1,#2,#1 thread 3,3,0 bound to {0:8}
#1,#2,#1 thread 3,3,4 bound to {0:8}
#1,#2,#1 thread 3,3,2 bound to {0:8}
#1,#2,#1 thread 3,3,3 bound to {0:8}
#1,#2,#1 thread 3,3,1 bound to {0:8}
#1,#3 thread 3,0 bound to {0:8}
#1,#3 thread 3,1 bound to {0:8}
#1,#3 thread 3,3 bound to {0:8}
#1,#3 thread 3,2 bound to {0:8}
#1,#4 thread 3,1 bound to {0:8}
#1,#4 thread 3,5 bound to {0:8}
#1,#4 thread 3,2 bound to {0:8}
#1,#4 thread 3,3 bound to {0:8}
#1,#4 thread 3,0 bound to {0:8}
#1,#4 thread 3,4 bound to {0:8}
#2 thread 0 bound to {0:8}
#2 thread 2 bound to {0:8}
#2 thread 4 bound to {0:8}
#2 thread 1 bound to {0:8}
#2 thread 3 bound to {0:8}
#2,#1 thread 3,0 bound to {0:8}
#2,#1 thread 3,2 bound to {0:8}
#2,#1 thread 3,1 bound to {0:8}
#2,#2 thread 3,2 bound to {0:8}
#2,#2 thread 3,1 bound to {0:8}
#2,#2 thread 3,4 bound to {0:8}
#2,#2 thread 3,3 bound to {0:8}
#2,#2 thread 3,0 bound to {0:8}
#2,#3 thread 3,2 bound to {0:8}
#2,#3 thread 3,0 bound to {0:8}
#2,#3 thread 3,1 bound to {0:8}
#2,#3 thread 3,3 bound to {0:8}
#2,#4 thread 3,2 bound to {0:8}
#2,#4 thread 3,0 bound to {0:8}
#2,#4 thread 3,1 bound to {0:8}
#2,#4 thread 3,4 bound to {0:8}
#2,#4 thread 3,5 bound to {0:8}
#2,#4 thread 3,3 bound to {0:8}
#3 thread 1 bound to {0:8}
#3 thread 2 bound to {0:8}
#3 thread 0 bound to {0:8}
#3,#1 thread 2,2 bound to {0:8}
#3,#1 thread 2,0 bound to {0:8}
#3,#1 thread 2,3 bound to {0:8}
#3,#1 thread 2,1 bound to {0:8}
#3,#2 thread 2,1 bound to {0:8}
#3,#2 thread 2,3 bound to {0:8}
#3,#2 thread 2,2 bound to {0:8}
#3,#2 thread 2,0 bound to {0:8}
#3,#2,#1 thread 2,0,1 bound to {0:8}
#3,#2,#1 thread 2,0,0 bound to {0:8}
#3,#2,#1 thread 2,0,2 bound to {0:8}
#3,#2,#1 thread 2,0,3 bound to {0:8}
#3,#2,#1 thread 2,0,4 bound to {0:8}
#3,#2,#2 thread 2,3,1 bound to {0:8}
#3,#2,#2 thread 2,3,0 bound to {0:8}
#3,#2,#2 thread 2,3,2 bound to {0:8}
#3,#2,#2 thread 2,3,3 bound to {0:8}
#3,#2,#2 thread 2,3,4 bound to {0:8}
#3,#3 thread 2,1 bound to {0:8}
#3,#3 thread 2,0 bound to {0:8}
#3,#3 thread 2,3 bound to {0:8}
#3,#3 thread 2,2 bound to {0:8}
#3,#4 thread 2,0 bound to {0:8}
#3,#4 thread 2,3 bound to {0:8}
#3,#4 thread 2,4 bound to {0:8}
#3,#4 thread 2,2 bound to {0:8}
#3,#4 thread 2,5 bound to {0:8}
#3,#4 thread 2,1 bound to {0:8}
#4 thread 3 bound to {0:8}
#4 thread 1 bound to {0:8}
#4 thread 4 bound to {0:8}
#4 thread 2 bound to {0:8}
#4 thread 0 bound to {0:8}
#4,#1 thread 2,2 bound to {0:8}
#4,#1 thread 2,0 bound to {0:8}
#4,#1 thread 2,3 bound to {0:8}
#4,#1 thread 2,1 bound to {0:8}
#4,#2 thread 2,2 bound to {0:8}
#4,#2 thread 2,3 bound to {0:8}
#4,#2 thread 2,0 bound to {0:8}
#4,#2 thread 2,1 bound to {0:8}
#4,#2,#1 thread 2,0,0 bound to {0:8}
#4,#2,#1 thread 2,0,3 bound to {0:8}
#4,#2,#1 thread 2,0,2 bound to {0:8}
#4,#2,#1 thread 2,0,1 bound to {0:8}
#4,#2,#1 thread 2,0,4 bound to {0:8}
#4,#2,#2 thread 2,2,1 bound to {0:8}
#4,#2,#2 thread 2,2,2 bound to {0:8}
#4,#2,#2 thread 2,2,0 bound to {0:8}
#4,#2,#2 thread 2,2,3 bound to {0:8}
#4,#2,#2 thread 2,2,4 bound to {0:8}
#4,#2,#3 thread 2,3,1 bound to {0:8}
#4,#2,#3 thread 2,3,4 bound to {0:8}
#4,#2,#3 thread 2,3,0 bound to {0:8}
#4,#2,#3 thread 2,3,2 bound to {0:8}
#4,#2,#3 thread 2,3,3 bound to {0:8}
#4,#3 thread 2,0 bound to {0:8}
#4,#3 thread 2,2 bound to {0:8}
#4,#3 thread 2,3 bound to {0:8}
#4,#3 thread 2,1 bound to {0:8}
#4,#4 thread 2,1 bound to {0:8}
#4,#4 thread 2,2 bound to {0:8}
#4,#4 thread 2,5 bound to {0:8}
#4,#4 thread 2,3 bound to {0:8}
#4,#4 thread 2,0 bound to {0:8}
#4,#4 thread 2,4 bound to {0:8}
[innocent@vinavx0 testsuite]$ cp ~/public/ctest/pa
parallel/      partialSum.cc  
[innocent@vinavx0 testsuite]$ cp ~/public/ctest/parallel/./affinity-1.exe
cp: missing destination file operand after
`/afs/cern.ch/user/i/innocent/public/ctest/parallel/./affinity-1.exe'
Try `cp --help' for more information.
[innocent@vinavx0 testsuite]$ cp ~/public/ctest/parallel/affinity-1.exe .
cp: cannot stat
`/afs/cern.ch/user/i/innocent/public/ctest/parallel/affinity-1.exe': No such
file or directory
[innocent@vinavx0 testsuite]$ cp aff ~/public/ctest/parallel/.
Makefile        affinity-1.exe* libgomp.log*    libgomp.sum     site.exp        
[innocent@vinavx0 testsuite]$ cp affinity-1.exe  ~/public/ctest/parallel/.
[innocent@vinavx0 testsuite]$ ldd ./affinity-1.exe
    linux-vdso.so.1 =>  (0x00007fff44101000)
    libdl.so.2 => /afs/cern.ch/user/i/innocent/w2/lib/libdl.so.2
(0x00007f03f5ee6000)
    libm.so.6 => /afs/cern.ch/user/i/innocent/w2/lib/libm.so.6
(0x00007f03f5c68000)
    libgomp.so.1 => /afs/cern.ch/user/i/innocent/w2/lib64/libgomp.so.1
(0x00007f03f5a51000)
    libpthread.so.0 => /afs/cern.ch/user/i/innocent/w2/lib/libpthread.so.0
(0x00007f03f5834000)
    libc.so.6 => /afs/cern.ch/user/i/innocent/w2/lib/libc.so.6
(0x00007f03f54ab000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003672000000)
    librt.so.1 => /afs/cern.ch/user/i/innocent/w2/lib/librt.so.1
(0x00007f03f5290000)



on the XEON
 ldd ./affinity-1.exe
    linux-vdso.so.1 =>  (0x00007fff28ffe000)
    libdl.so.2 => /afs/cern.ch/user/i/innocent/w2/lib/libdl.so.2
(0x00007f49aef18000)
    libm.so.6 => /afs/cern.ch/user/i/innocent/w2/lib/libm.so.6
(0x00007f49aec9a000)
    libgomp.so.1 => /afs/cern.ch/user/i/innocent/w2/lib64/libgomp.so.1
(0x00007f49aea83000)
    libpthread.so.0 => /afs/cern.ch/user/i/innocent/w2/lib/libpthread.so.0
(0x00007f49ae866000)
    libc.so.6 => /afs/cern.ch/user/i/innocent/w2/lib/libc.so.6
(0x00007f49ae4dd000)
    /lib64/ld-linux-x86-64.so.2 (0x000000320e800000)
    librt.so.1 => /afs/cern.ch/user/i/innocent/w2/lib/librt.so.1
(0x00007f49ae2c2000)
[innocent@olsnba04 parallel]$ /afs/cern.ch/user/i/innocent/w2/lib/libc.so.6
GNU C Library stable release version 2.13, by Roland McGrath et al.
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.6.1 20110520 (prerelease).
Compiled on a Linux 2.6.32 system on 2011-05-30.
Available extensions:
    crypt add-on version 2.1 by Michael Glad and others
    GNU Libidn by Simon Josefsson
    Native POSIX Threads Library by Ulrich Drepper et al
    BIND-8.2.3-T5B
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

>  If it is too old (doesn't have
> CPU_ALLOC_SIZE macro defined), or -DINTERPOSE_GETAFFINITY -DDO_FORK isn't
> defined, or config.h doesn't defined HAVE_PTHREAD_AFFINITY_NP, then that's
> expected.  Or is the output running under taskset -c 0-3 ?
no
>  The test verifies
> things only if the initial affinity bitmask contains at least logical CPUs from
> 0 to 7 inclusive.
> What I'm getting and expect is something like:
> OMP_PROC_BIND='true' OMP_PLACES='{0,1},{3,2,4},{6,5,!6},{6},{7:2:-1,!6}'
csh does not like "!"
echo $OMP_PLACES
0,3,6,6,7:2:-1 0,3,6,6,!6 0,3,5,6,7:2:-1 0,3,5,6,!6 0,3,!6,6,7:2:-1 0,3,!6,6,!6
0,2,6,6,7:2:-1 0,2,6,6,!6 0,2,5,6,7:2:-1 0,2,5,6,!6 0,2,!6,6,7:2:-1 0,2,!6,6,!6
0,4,6,6,7:2:-1 0,4,6,6,!6 0,4,5,6,7:2:-1 0,4,5,6,!6 0,4,!6,6,7:2:-1 0,4,!6,6,!6
1,3,6,6,7:2:-1 1,3,6,6,!6 1,3,5,6,7:2:-1 1,3,5,6,!6 1,3,!6,6,7:2:-1 1,3,!6,6,!6
1,2,6,6,7:2:-1 1,2,6,6,!6 1,2,5,6,7:2:-1 1,2,5,6,!6 1,2,!6,6,7:2:-1 1,2,!6,6,!6
1,4,6,6,7:2:-1 1,4,6,6,!6 1,4,5,6,7:2:-1 1,4,5,6,!6 1,4,!6,6,7:2:-1 1,4,!6,6,!6

in zsh
innocent@olsnba04]~/me/public/ctest/parallel% export OMP_PROC_BIND='true';
export OMP_PLACES='{0,1},{3,2,4},{6,5,!6},{6},{7:2:-1,!6}'
[innocent@olsnba04]~/me/public/ctest/parallel% ./affinity-1.exe                 
OMP_PROC_BIND='true' OMP_PLACES='{0,1},{3,2,4},{6,5,!6},{6},{7:2:-1,!6}'
Initial thread
#1 thread 0
#1 thread 2
#1 thread 3
#1 thread 1
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#1 thread 3,1
#1,#2 thread 3,3
#1,#2 thread 3,0
#1,#2 thread 3,4
#1,#2 thread 3,1
#1,#2 thread 3,2
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,4
#1,#4 thread 3,2
#1,#4 thread 3,0
#1,#4 thread 3,1
#1,#4 thread 3,3
#1,#4 thread 3,5
#2 thread 3
#2 thread 2
#2 thread 0
#2 thread 4
#2 thread 1
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,0
#2,#2 thread 3,4
#2,#2 thread 3,3
#2,#2 thread 3,2
#2,#2 thread 3,1
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,0
#2,#4 thread 3,5
#2,#4 thread 3,4
#2,#4 thread 3,3
#2,#4 thread 3,2
#2,#4 thread 3,1
#3 thread 1
#3 thread 0
#3 thread 2
#3,#1 thread 2,0
#3,#1 thread 2,1
#3,#1 thread 2,2
#3,#1 thread 2,3
#3,#2 thread 2,1
#3,#2 thread 2,2
#3,#2 thread 2,3
#3,#2 thread 2,0
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,1
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,1
#3,#3 thread 2,1
#3,#3 thread 2,2
#3,#3 thread 2,0
#3,#3 thread 2,3
#3,#4 thread 2,1
#3,#4 thread 2,2
#3,#4 thread 2,3
#3,#4 thread 2,5
#3,#4 thread 2,4
#3,#4 thread 2,0
#4 thread 1
#4 thread 2
#4 thread 4
#4 thread 3
#4 thread 0
#4,#1 thread 2,3
#4,#1 thread 2,1
#4,#1 thread 2,2
#4,#1 thread 2,0
#4,#2 thread 2,1
#4,#2 thread 2,3
#4,#2 thread 2,2
#4,#2 thread 2,0
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,1
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,1
#4,#2,#3 thread 2,3,1
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,3
#4,#2,#3 thread 2,3,0
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#3 thread 2,1
#4,#4 thread 2,1
#4,#4 thread 2,2
#4,#4 thread 2,3
#4,#4 thread 2,0
#4,#4 thread 2,4
#4,#4 thread 2,5
[innocent@olsnba04]~/me/public/ctest/parallel% 


> Initial thread bound to {0:2}, verified
> #1 thread 2 bound to {5}
> #1 thread 0 bound to {0:2}
> #1 thread 3 bound to {6}
> #1 thread 1 bound to {2:3}
> ...
> #1,#4 thread 3,5 bound to {6}
> #2 thread 0 bound to {0:2}, verified
> #2 thread 2 bound to {5}, verified
> #2 thread 1 bound to {2:3}, verified
> ...
> #4,#4 thread 2,0 bound to {5}, verified
> #4,#4 thread 2,5 bound to {5}, verified
> OMP_PROC_BIND='true' OMP_PLACES='{1}:7:1'
> Initial thread bound to {1}, verified
> ...
> (", verified" shouldn't be on lines starting with #1 if the header says
> OMP_PROC_BIND='true').
> 
> -- 
> You are receiving this mail because:
> You reported the bug.

--
Il est bon de suivre sa pente, pourvu que ce soit en montant. 
A.G.
http://www.flickr.com/photos/vin60/1320965757/


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (16 preceding siblings ...)
  2013-10-07 11:03 ` vincenzo.innocente at cern dot ch
@ 2013-10-07 11:06 ` vincenzo.innocente at cern dot ch
  2013-10-07 11:32 ` jakub at gcc dot gnu.org
                   ` (8 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-07 11:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #19 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
On 7 Oct, 2013, at 12:27 PM, jakub at gcc dot gnu.org
<gcc-bugzilla@gcc.gnu.org> wrote:

> or config.h doesn't defined HAVE_PTHREAD_AFFINITY_NP, then that's
> expected. 
innocent@vinavx0 testsuite]$ cat ../config.h
/* config.h.  Generated from config.h.in by configure.  */
/* config.h.in.  Generated from configure.ac by autoheader.  */

/* Define to 1 if the target assembler supports .symver directive. */
#define HAVE_AS_SYMVER_DIRECTIVE 1

/* Define to 1 if the target supports __attribute__((alias(...))). */
#define HAVE_ATTRIBUTE_ALIAS 1

/* Define to 1 if the target supports __attribute__((dllexport)). */
/* #undef HAVE_ATTRIBUTE_DLLEXPORT */

/* Define to 1 if the target supports __attribute__((visibility(...))). */
#define HAVE_ATTRIBUTE_VISIBILITY 1

/* Define if the POSIX Semaphores do not work on your system. */
/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */

/* Define to 1 if the target assembler supports thread-local storage. */
/* #undef HAVE_CC_TLS */

/* Define to 1 if you have the `clock_gettime' function. */
#define HAVE_CLOCK_GETTIME 1

/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1

/* Define to 1 if you have the `getloadavg' function. */
#define HAVE_GETLOADAVG 1

/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1

/* Define to 1 if you have the `dl' library (-ldl). */
#define HAVE_LIBDL 1

/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1

/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */
#define HAVE_PTHREAD_AFFINITY_NP 1

/* Define to 1 if you have the <semaphore.h> header file. */
#define HAVE_SEMAPHORE_H 1

/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1

/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1

/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1

/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1

/* Define to 1 if you have the `strtoull' function. */
#define HAVE_STRTOULL 1

/* Define to 1 if the target runtime linker supports binding the same symbol
   to different versions. */
#define HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1

/* Define to 1 if the target supports __sync_*_compare_and_swap */
#define HAVE_SYNC_BUILTINS 1

/* Define to 1 if you have the <sys/loadavg.h> header file. */
/* #undef HAVE_SYS_LOADAVG_H */

/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1

/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1

/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1

/* Define to 1 if the target supports thread-local storage. */
#define HAVE_TLS 1

/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1

/* Define to 1 if GNU symbol versioning is used for libgomp. */
#define LIBGOMP_GNU_SYMBOL_VERSIONING 1

/* Define to the sub-directory in which libtool stores uninstalled libraries.
   */
#define LT_OBJDIR ".libs/"

/* Name of package */
#define PACKAGE "libgomp"

/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT ""

/* Define to the full name of this package. */
#define PACKAGE_NAME "GNU OpenMP Runtime Library"

/* Define to the full name and version of this package. */
#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0"

/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "libgomp"

/* Define to the home page for this package. */
#define PACKAGE_URL "http://www.gnu.org/software/libgomp/"

/* Define to the version of this package. */
#define PACKAGE_VERSION "1.0"

/* Define if all infrastructure, needed for plugins, is supported. */
#define PLUGIN_SUPPORT 1

/* The size of `char', as computed by sizeof. */
/* #undef SIZEOF_CHAR */

/* The size of `int', as computed by sizeof. */
/* #undef SIZEOF_INT */

/* The size of `long', as computed by sizeof. */
/* #undef SIZEOF_LONG */

/* The size of `short', as computed by sizeof. */
/* #undef SIZEOF_SHORT */

/* The size of `void *', as computed by sizeof. */
/* #undef SIZEOF_VOID_P */

/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1

/* Define if you can safely include both <string.h> and <strings.h>. */
#define STRING_WITH_STRINGS 1

/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1

/* Version number of package */
#define VERSION "1.0"

--
Il est bon de suivre sa pente, pourvu que ce soit en montant. 
A.G.
http://www.flickr.com/photos/vin60/1320965757/


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (17 preceding siblings ...)
  2013-10-07 11:06 ` vincenzo.innocente at cern dot ch
@ 2013-10-07 11:32 ` jakub at gcc dot gnu.org
  2013-10-07 11:39 ` jakub at gcc dot gnu.org
                   ` (7 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-07 11:32 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #20 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I'll commit the patch anyway, it is a step forward.

Anyway, the way the testcase is written is that if you run it with
OMP_PROC_BIND=false in the environment and OMP_PLACES unset, then it should
fork and exec /proc/self/exe with various settings of those two environment
variables.
Can you perhaps see in the debugger what value has contig_cpucount variable at
the start of main, and why it decided not to fork (or, has it failed to exec
/proc/self/exe)?


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (18 preceding siblings ...)
  2013-10-07 11:32 ` jakub at gcc dot gnu.org
@ 2013-10-07 11:39 ` jakub at gcc dot gnu.org
  2013-10-07 12:07 ` vincenzo.innocente at cern dot ch
                   ` (6 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-07 11:39 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #21 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Mon Oct  7 11:39:39 2013
New Revision: 203243

URL: http://gcc.gnu.org/viewcvs?rev=203243&root=gcc&view=rev
Log:
    PR libgomp/58642
    * config/linux/proc.c: Include errno.h.
    (gomp_get_cpuset_size): New variable.
    (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
    gomp_cpuset_size.
    (gomp_init_num_threads): If CPU_ALLOC_SIZE is defined and
    pthread_getaffinity_np returned EINVAL, increase gomp_cpuset_size
    and retry.  After successful pthread_getaffinity_np copy
    gomp_cpuset_size to gomp_get_cpuset_size and try to find out
    minimum gomp_cpuset_size that covers all the CPUs set in gomp_cpusetp.
    (get_num_procs): Pass gomp_get_cpuset_size rather than gomp_cpuset_size
    to pthread_getaffinity_np, adjust gomp_cpuset_popcount caller.
    * config/linux/proc.h (gomp_cpuset_popcount): Add cpusetsize argument.
    * config/linux/affinity.c (gomp_affinity_finalize_place_list,
    gomp_affinity_init_level): Adjust gomp_cpuset_popcount callers.
    * testsuite/libgomp.c/affinity-1.c (pthread_getaffinity_np): Set
    contig_cpucount from the first successful pthread_getaffinity_np
    call, rather than just first call.

Modified:
    branches/gomp-4_0-branch/libgomp/ChangeLog.gomp
    branches/gomp-4_0-branch/libgomp/config/linux/affinity.c
    branches/gomp-4_0-branch/libgomp/config/linux/proc.c
    branches/gomp-4_0-branch/libgomp/config/linux/proc.h
    branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c/affinity-1.c


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (19 preceding siblings ...)
  2013-10-07 11:39 ` jakub at gcc dot gnu.org
@ 2013-10-07 12:07 ` vincenzo.innocente at cern dot ch
  2013-10-07 12:43 ` vincenzo.innocente at cern dot ch
                   ` (5 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-07 12:07 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #22 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
on the XEON
setenv OMP_PROC_BIND false

reakpoint 1, main () at
/home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c:181
181    /home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c:
No such file or directory.
    in /home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c
Missing separate debuginfos, use: debuginfo-install
glibc-2.12-1.107.el6_4.4.x86_64
(gdb) print contig_cpucount
$1 = 32

it fork only if it is 8…
(ok on the build machine indeed)
180    #ifdef DO_FORK
   181      if (env_places == NULL && contig_cpucount == 8 && test_false
   182          && getenv ("GOMP_AFFINITY") == NULL)



so (see below full output ) 
taskset -c 0-7 gdb ./affinity-1.exe
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6_4.1)
(gdb) b
/home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c:179
Breakpoint 1 at 0x400d5f: file
/home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c, line
179.
(gdb) run
Starting program:
/afs/cern.ch/user/i/innocent/public/ctest/parallel/affinity-1.exe 
warning: no loadable sections found in added symbol-file system-supplied DSO at
0x7ffff7ffd000
[Thread debugging using libthread_db enabled]

Breakpoint 1, main () at
/home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c:181
181    /home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c:
No such file or directory.
    in /home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c
Missing separate debuginfos, use: debuginfo-install
glibc-2.12-1.107.el6_4.4.x86_64
(gdb)  print contig_cpucount 
$1 = 8

BUT

taskset -c 24-31 gdb ./affinity-1.exe

Breakpoint 1, main () at
/home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c:181
181    /home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c:
No such file or directory.
    in /home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c
Missing separate debuginfos, use: debuginfo-install
glibc-2.12-1.107.el6_4.4.x86_64
(gdb) print contig_cpucount 
$1 = 0



taskset -c 0-7 ./affinity-1.exe

libgomp: Number of places reduced from 5 to 1 because some places didn't
contain any usable logical CPUs
OMP_PROC_BIND='true' OMP_PLACES='{0,1},{3,2,4},{6,5,!6},{6},{7:2:-1,!6}'
Initial thread
#1 thread 0
#1 thread 3
#1 thread 2
#1 thread 1
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#1 thread 3,1
#1,#2 thread 3,0
#1,#2 thread 3,4
#1,#2 thread 3,3
#1,#2 thread 3,2
#1,#2 thread 3,1
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,0
#1,#4 thread 3,5
#1,#4 thread 3,4
#1,#4 thread 3,3
#1,#4 thread 3,2
#1,#4 thread 3,1
#2 thread 3
#2 thread 0
#2 thread 2
#2 thread 1
#2 thread 4
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,0
#2,#2 thread 3,4
#2,#2 thread 3,3
#2,#2 thread 3,2
#2,#2 thread 3,1
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,0
#2,#4 thread 3,5
#2,#4 thread 3,4
#2,#4 thread 3,3
#2,#4 thread 3,2
#2,#4 thread 3,1
#3 thread 1
#3 thread 2
#3 thread 0
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,0
#3,#2 thread 2,3
#3,#2 thread 2,2
#3,#2 thread 2,1
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,1
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,1
#3,#3 thread 2,0
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#3 thread 2,1
#3,#4 thread 2,0
#3,#4 thread 2,5
#3,#4 thread 2,4
#3,#4 thread 2,3
#3,#4 thread 2,2
#3,#4 thread 2,1
#4 thread 2
#4 thread 0
#4 thread 1
#4 thread 4
#4 thread 3
#4,#1 thread 2,0
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,1
#4,#2 thread 2,0
#4,#2 thread 2,3
#4,#2 thread 2,2
#4,#2 thread 2,1
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,1
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,1
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,3
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,1
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#3 thread 2,1
#4,#4 thread 2,0
#4,#4 thread 2,5
#4,#4 thread 2,4
#4,#4 thread 2,3
#4,#4 thread 2,2
#4,#4 thread 2,1

libgomp: None of the places contain usable logical CPUs

libgomp: Invalid value for environment variable OMP_PLACES
OMP_PROC_BIND='true' OMP_PLACES='{1}:7:1'
Initial thread
#1 thread 1
#1 thread 2
#1 thread 0
#1 thread 3
#1,#1 thread 3,2
#1,#1 thread 3,0
#1,#1 thread 3,1
#1,#2 thread 3,4
#1,#2 thread 3,2
#1,#2 thread 3,3
#1,#2 thread 3,1
#1,#2 thread 3,0
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,5
#1,#4 thread 3,4
#1,#4 thread 3,2
#1,#4 thread 3,3
#1,#4 thread 3,0
#1,#4 thread 3,1
#2 thread 4
#2 thread 1
#2 thread 2
#2 thread 0
#2 thread 3
#2,#1 thread 3,2
#2,#1 thread 3,0
#2,#1 thread 3,1
#2,#2 thread 3,1
#2,#2 thread 3,4
#2,#2 thread 3,0
#2,#2 thread 3,3
#2,#2 thread 3,2
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,5
#2,#4 thread 3,0
#2,#4 thread 3,3
#2,#4 thread 3,2
#2,#4 thread 3,4
#2,#4 thread 3,1
#3 thread 0
#3 thread 2
#3 thread 1
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,3
#3,#2 thread 2,2
#3,#2 thread 2,1
#3,#2 thread 2,0
#3,#2,#1 thread 2,0,1
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,2
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,1
#3,#2,#2 thread 2,3,3
#3,#3 thread 2,0
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#3 thread 2,1
#3,#4 thread 2,1
#3,#4 thread 2,0
#3,#4 thread 2,2
#3,#4 thread 2,5
#3,#4 thread 2,3
#3,#4 thread 2,4
#4 thread 1
#4 thread 2
#4 thread 3
#4 thread 4
#4 thread 0
#4,#1 thread 2,1
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,0
#4,#2 thread 2,2
#4,#2 thread 2,1
#4,#2 thread 2,3
#4,#2 thread 2,0
#4,#2,#1 thread 2,0,1
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,0
#4,#2,#2 thread 2,2,1
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,0
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,1
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,3
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#3 thread 2,1
#4,#4 thread 2,1
#4,#4 thread 2,2
#4,#4 thread 2,3
#4,#4 thread 2,5
#4,#4 thread 2,0
#4,#4 thread 2,4

libgomp: Number of places reduced from 3 to 1 because some places didn't
contain any usable logical CPUs
OMP_PROC_BIND='true' OMP_PLACES='{6,7}:4:-2,!{2,3}'
Initial thread
#1 thread 0
#1 thread 3
#1 thread 2
#1 thread 1
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#1 thread 3,1
#1,#2 thread 3,0
#1,#2 thread 3,4
#1,#2 thread 3,3
#1,#2 thread 3,2
#1,#2 thread 3,1
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,0
#1,#4 thread 3,5
#1,#4 thread 3,4
#1,#4 thread 3,3
#1,#4 thread 3,2
#1,#4 thread 3,1
#2 thread 3
#2 thread 0
#2 thread 2
#2 thread 1
#2 thread 4
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,0
#2,#2 thread 3,4
#2,#2 thread 3,3
#2,#2 thread 3,2
#2,#2 thread 3,1
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,0
#2,#4 thread 3,5
#2,#4 thread 3,4
#2,#4 thread 3,3
#2,#4 thread 3,2
#2,#4 thread 3,1
#3 thread 2
#3 thread 1
#3 thread 0
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,0
#3,#2 thread 2,3
#3,#2 thread 2,2
#3,#2 thread 2,1
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,1
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,1
#3,#3 thread 2,0
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#3 thread 2,1
#3,#4 thread 2,0
#3,#4 thread 2,5
#3,#4 thread 2,4
#3,#4 thread 2,3
#3,#4 thread 2,2
#3,#4 thread 2,1
#4 thread 2
#4 thread 0
#4 thread 1
#4 thread 4
#4 thread 3
#4,#1 thread 2,0
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,1
#4,#2 thread 2,0
#4,#2 thread 2,3
#4,#2 thread 2,2
#4,#2 thread 2,1
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,1
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,1
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,3
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,1
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#3 thread 2,1
#4,#4 thread 2,0
#4,#4 thread 2,5
#4,#4 thread 2,4
#4,#4 thread 2,3
#4,#4 thread 2,2
#4,#4 thread 2,1

libgomp: None of the places contain usable logical CPUs

libgomp: Invalid value for environment variable OMP_PLACES
OMP_PROC_BIND='true' OMP_PLACES='{7,6}:2:-3'
Initial thread
#1 thread 1
#1 thread 0
#1 thread 2
#1 thread 3
#1,#1 thread 3,2
#1,#1 thread 3,0
#1,#1 thread 3,1
#1,#2 thread 3,4
#1,#2 thread 3,0
#1,#2 thread 3,2
#1,#2 thread 3,1
#1,#2 thread 3,3
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,1
#1,#4 thread 3,2
#1,#4 thread 3,4
#1,#4 thread 3,3
#1,#4 thread 3,5
#1,#4 thread 3,0
#2 thread 4
#2 thread 1
#2 thread 2
#2 thread 0
#2 thread 3
#2,#1 thread 3,2
#2,#1 thread 3,0
#2,#1 thread 3,1
#2,#2 thread 3,1
#2,#2 thread 3,4
#2,#2 thread 3,2
#2,#2 thread 3,0
#2,#2 thread 3,3
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,3
#2,#4 thread 3,4
#2,#4 thread 3,0
#2,#4 thread 3,5
#2,#4 thread 3,1
#2,#4 thread 3,2
#3 thread 0
#3 thread 2
#3 thread 1
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,1
#3,#2 thread 2,3
#3,#2 thread 2,0
#3,#2 thread 2,2
#3,#2,#1 thread 2,0,1
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,2
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,1
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,4
#3,#3 thread 2,0
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#3 thread 2,1
#3,#4 thread 2,1
#3,#4 thread 2,0
#3,#4 thread 2,2
#3,#4 thread 2,4
#3,#4 thread 2,3
#3,#4 thread 2,5
#4 thread 1
#4 thread 2
#4 thread 4
#4 thread 3
#4 thread 0
#4,#1 thread 2,1
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,0
#4,#2 thread 2,3
#4,#2 thread 2,1
#4,#2 thread 2,2
#4,#2 thread 2,0
#4,#2,#1 thread 2,0,1
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,0
#4,#2,#2 thread 2,2,1
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,0
#4,#2,#3 thread 2,3,1
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,3
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#3 thread 2,1
#4,#4 thread 2,1
#4,#4 thread 2,2
#4,#4 thread 2,3
#4,#4 thread 2,5
#4,#4 thread 2,0
#4,#4 thread 2,4

libgomp: Number of places reduced from 8 to 1 because some places didn't
contain any usable logical CPUs
OMP_PROC_BIND='true' OMP_PLACES='{0}:8'
Initial thread
#1 thread 0
#1 thread 3
#1 thread 2
#1 thread 1
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#1 thread 3,1
#1,#2 thread 3,0
#1,#2 thread 3,4
#1,#2 thread 3,3
#1,#2 thread 3,2
#1,#2 thread 3,1
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,0
#1,#4 thread 3,5
#1,#4 thread 3,4
#1,#4 thread 3,3
#1,#4 thread 3,2
#1,#4 thread 3,1
#2 thread 3
#2 thread 0
#2 thread 2
#2 thread 1
#2 thread 4
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,0
#2,#2 thread 3,4
#2,#2 thread 3,3
#2,#2 thread 3,2
#2,#2 thread 3,1
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,0
#2,#4 thread 3,5
#2,#4 thread 3,4
#2,#4 thread 3,3
#2,#4 thread 3,2
#2,#4 thread 3,1
#3 thread 2
#3 thread 1
#3 thread 0
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,0
#3,#2 thread 2,3
#3,#2 thread 2,2
#3,#2 thread 2,1
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,1
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,1
#3,#3 thread 2,0
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#3 thread 2,1
#3,#4 thread 2,0
#3,#4 thread 2,5
#3,#4 thread 2,4
#3,#4 thread 2,3
#3,#4 thread 2,2
#3,#4 thread 2,1
#4 thread 2
#4 thread 0
#4 thread 1
#4 thread 4
#4 thread 3
#4,#1 thread 2,0
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,1
#4,#2 thread 2,0
#4,#2 thread 2,3
#4,#2 thread 2,2
#4,#2 thread 2,1
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,1
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,1
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,3
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,1
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#3 thread 2,1
#4,#4 thread 2,0
#4,#4 thread 2,5
#4,#4 thread 2,4
#4,#4 thread 2,3
#4,#4 thread 2,2
#4,#4 thread 2,1

libgomp: Number of places reduced from 5 to 1 because some places didn't
contain any usable logical CPUs
OMP_PROC_BIND='spread,master,close'
OMP_PLACES='{0,1},{3,2,4},{6,5,!6},{6},{7:2:-1,!6}'
Initial thread
#1 thread 0
#1 thread 3
#1 thread 2
#1 thread 1
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#1 thread 3,1
#1,#2 thread 3,0
#1,#2 thread 3,4
#1,#2 thread 3,3
#1,#2 thread 3,2
#1,#2 thread 3,1
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,0
#1,#4 thread 3,5
#1,#4 thread 3,4
#1,#4 thread 3,3
#1,#4 thread 3,2
#1,#4 thread 3,1
#2 thread 3
#2 thread 0
#2 thread 2
#2 thread 1
#2 thread 4
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,0
#2,#2 thread 3,4
#2,#2 thread 3,3
#2,#2 thread 3,2
#2,#2 thread 3,1
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,0
#2,#4 thread 3,5
#2,#4 thread 3,4
#2,#4 thread 3,3
#2,#4 thread 3,2
#2,#4 thread 3,1
#3 thread 1
#3 thread 2
#3 thread 0
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,0
#3,#2 thread 2,3
#3,#2 thread 2,2
#3,#2 thread 2,1
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,1
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,1
#3,#3 thread 2,0
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#3 thread 2,1
#3,#4 thread 2,0
#3,#4 thread 2,5
#3,#4 thread 2,4
#3,#4 thread 2,3
#3,#4 thread 2,2
#3,#4 thread 2,1
#4 thread 2
#4 thread 0
#4 thread 1
#4 thread 4
#4 thread 3
#4,#1 thread 2,0
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,1
#4,#2 thread 2,0
#4,#2 thread 2,3
#4,#2 thread 2,2
#4,#2 thread 2,1
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,1
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,1
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,3
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,1
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#3 thread 2,1
#4,#4 thread 2,0
#4,#4 thread 2,5
#4,#4 thread 2,4
#4,#4 thread 2,3
#4,#4 thread 2,2
#4,#4 thread 2,1

libgomp: None of the places contain usable logical CPUs

libgomp: Invalid value for environment variable OMP_PLACES
OMP_PROC_BIND='spread,master,close' OMP_PLACES='{1}:7:1'
Initial thread
#1 thread 2
#1 thread 3
#1 thread 1
#1 thread 0
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#1 thread 3,1
#1,#2 thread 3,4
#1,#2 thread 3,1
#1,#2 thread 3,0
#1,#2 thread 3,3
#1,#2 thread 3,2
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,1
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,3
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,5
#1,#4 thread 3,0
#1,#4 thread 3,2
#1,#4 thread 3,1
#1,#4 thread 3,4
#1,#4 thread 3,3
#2 thread 4
#2 thread 0
#2 thread 2
#2 thread 3
#2 thread 1
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,3
#2,#2 thread 3,1
#2,#2 thread 3,0
#2,#2 thread 3,2
#2,#2 thread 3,4
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,5
#2,#4 thread 3,0
#2,#4 thread 3,2
#2,#4 thread 3,4
#2,#4 thread 3,3
#2,#4 thread 3,1
#3 thread 0
#3 thread 2
#3 thread 1
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,1
#3,#2 thread 2,3
#3,#2 thread 2,2
#3,#2 thread 2,0
#3,#2,#1 thread 2,0,1
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,4
#3,#2,#2 thread 2,3,1
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,3
#3,#3 thread 2,0
#3,#3 thread 2,1
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#4 thread 2,1
#3,#4 thread 2,2
#3,#4 thread 2,4
#3,#4 thread 2,3
#3,#4 thread 2,0
#3,#4 thread 2,5
#4 thread 1
#4 thread 2
#4 thread 4
#4 thread 3
#4 thread 0
#4,#1 thread 2,0
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,1
#4,#2 thread 2,2
#4,#2 thread 2,3
#4,#2 thread 2,1
#4,#2 thread 2,0
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,1
#4,#2,#2 thread 2,2,1
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,3
#4,#2,#3 thread 2,3,1
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,3
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#3 thread 2,1
#4,#4 thread 2,5
#4,#4 thread 2,0
#4,#4 thread 2,1
#4,#4 thread 2,2
#4,#4 thread 2,4
#4,#4 thread 2,3

libgomp: Number of places reduced from 3 to 1 because some places didn't
contain any usable logical CPUs
OMP_PROC_BIND='spread,master,close' OMP_PLACES='{6,7}:4:-2,!{2,3}'
Initial thread
#1 thread 0
#1 thread 3
#1 thread 2
#1 thread 1
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#1 thread 3,1
#1,#2 thread 3,0
#1,#2 thread 3,4
#1,#2 thread 3,3
#1,#2 thread 3,2
#1,#2 thread 3,1
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,0
#1,#4 thread 3,5
#1,#4 thread 3,4
#1,#4 thread 3,3
#1,#4 thread 3,2
#1,#4 thread 3,1
#2 thread 3
#2 thread 0
#2 thread 2
#2 thread 1
#2 thread 4
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,0
#2,#2 thread 3,4
#2,#2 thread 3,3
#2,#2 thread 3,2
#2,#2 thread 3,1
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,0
#2,#4 thread 3,5
#2,#4 thread 3,4
#2,#4 thread 3,3
#2,#4 thread 3,2
#2,#4 thread 3,1
#3 thread 2
#3 thread 1
#3 thread 0
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,0
#3,#2 thread 2,3
#3,#2 thread 2,2
#3,#2 thread 2,1
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,1
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,1
#3,#3 thread 2,0
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#3 thread 2,1
#3,#4 thread 2,0
#3,#4 thread 2,5
#3,#4 thread 2,4
#3,#4 thread 2,3
#3,#4 thread 2,2
#3,#4 thread 2,1
#4 thread 2
#4 thread 0
#4 thread 1
#4 thread 4
#4 thread 3
#4,#1 thread 2,0
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,1
#4,#2 thread 2,0
#4,#2 thread 2,3
#4,#2 thread 2,2
#4,#2 thread 2,1
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,1
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,1
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,3
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,1
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#3 thread 2,1
#4,#4 thread 2,0
#4,#4 thread 2,5
#4,#4 thread 2,4
#4,#4 thread 2,3
#4,#4 thread 2,2
#4,#4 thread 2,1

libgomp: None of the places contain usable logical CPUs

libgomp: Invalid value for environment variable OMP_PLACES
OMP_PROC_BIND='spread,master,close' OMP_PLACES='{7,6}:2:-3'
Initial thread
#1 thread 3
#1 thread 1
#1 thread 2
#1 thread 0
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#1 thread 3,1
#1,#2 thread 3,4
#1,#2 thread 3,1
#1,#2 thread 3,0
#1,#2 thread 3,3
#1,#2 thread 3,2
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,5
#1,#4 thread 3,0
#1,#4 thread 3,2
#1,#4 thread 3,1
#1,#4 thread 3,4
#1,#4 thread 3,3
#2 thread 2
#2 thread 3
#2 thread 1
#2 thread 0
#2 thread 4
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,4
#2,#2 thread 3,0
#2,#2 thread 3,2
#2,#2 thread 3,1
#2,#2 thread 3,3
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,2
#2,#4 thread 3,5
#2,#4 thread 3,4
#2,#4 thread 3,3
#2,#4 thread 3,0
#2,#4 thread 3,1
#3 thread 0
#3 thread 2
#3 thread 1
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,1
#3,#2 thread 2,3
#3,#2 thread 2,2
#3,#2 thread 2,0
#3,#2,#1 thread 2,0,1
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,4
#3,#2,#2 thread 2,3,1
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,3
#3,#3 thread 2,0
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#3 thread 2,1
#3,#4 thread 2,1
#3,#4 thread 2,5
#3,#4 thread 2,3
#3,#4 thread 2,0
#3,#4 thread 2,4
#3,#4 thread 2,2
#4 thread 1
#4 thread 2
#4 thread 3
#4 thread 4
#4 thread 0
#4,#1 thread 2,0
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,1
#4,#2 thread 2,3
#4,#2 thread 2,1
#4,#2 thread 2,2
#4,#2 thread 2,0
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,1
#4,#2,#1 thread 2,0,3
#4,#2,#2 thread 2,2,1
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,3
#4,#2,#3 thread 2,3,1
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,3
#4,#3 thread 2,1
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#4 thread 2,1
#4,#4 thread 2,3
#4,#4 thread 2,5
#4,#4 thread 2,0
#4,#4 thread 2,4
#4,#4 thread 2,2

libgomp: Number of places reduced from 8 to 1 because some places didn't
contain any usable logical CPUs
OMP_PROC_BIND='spread,master,close' OMP_PLACES='{0}:8'
Initial thread
#1 thread 0
#1 thread 3
#1 thread 2
#1 thread 1
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#1 thread 3,1
#1,#2 thread 3,0
#1,#2 thread 3,4
#1,#2 thread 3,3
#1,#2 thread 3,2
#1,#2 thread 3,1
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,0
#1,#4 thread 3,5
#1,#4 thread 3,4
#1,#4 thread 3,3
#1,#4 thread 3,2
#1,#4 thread 3,1
#2 thread 3
#2 thread 0
#2 thread 2
#2 thread 1
#2 thread 4
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,0
#2,#2 thread 3,4
#2,#2 thread 3,3
#2,#2 thread 3,2
#2,#2 thread 3,1
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,0
#2,#4 thread 3,5
#2,#4 thread 3,4
#2,#4 thread 3,3
#2,#4 thread 3,2
#2,#4 thread 3,1
#3 thread 1
#3 thread 2
#3 thread 0
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,0
#3,#2 thread 2,3
#3,#2 thread 2,2
#3,#2 thread 2,1
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,1
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,1
#3,#3 thread 2,0
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#3 thread 2,1
#3,#4 thread 2,0
#3,#4 thread 2,5
#3,#4 thread 2,4
#3,#4 thread 2,3
#3,#4 thread 2,2
#3,#4 thread 2,1
#4 thread 2
#4 thread 0
#4 thread 1
#4 thread 4
#4 thread 3
#4,#1 thread 2,0
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,1
#4,#2 thread 2,0
#4,#2 thread 2,3
#4,#2 thread 2,2
#4,#2 thread 2,1
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,1
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,1
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,3
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,1
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#3 thread 2,1
#4,#4 thread 2,0
#4,#4 thread 2,5
#4,#4 thread 2,4
#4,#4 thread 2,3
#4,#4 thread 2,2
#4,#4 thread 2,1
OMP_PROC_BIND='false'
Initial thread
#1 thread 0
#1 thread 2
#1 thread 3
#1 thread 1
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#1 thread 3,1
#1,#2 thread 3,0
#1,#2 thread 3,3
#1,#2 thread 3,2
#1,#2 thread 3,4
#1,#2 thread 3,1
#1,#2,#1 thread 3,3,1
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,3
#1,#3 thread 3,0
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#3 thread 3,3
#1,#4 thread 3,1
#1,#4 thread 3,2
#1,#4 thread 3,3
#1,#4 thread 3,0
#1,#4 thread 3,5
#1,#4 thread 3,4
#2 thread 0
#2 thread 2
#2 thread 4
#2 thread 3
#2 thread 1
#2,#1 thread 3,0
#2,#1 thread 3,1
#2,#1 thread 3,2
#2,#2 thread 3,1
#2,#2 thread 3,4
#2,#2 thread 3,3
#2,#2 thread 3,2
#2,#2 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,1
#2,#3 thread 3,0
#2,#3 thread 3,2
#2,#4 thread 3,1
#2,#4 thread 3,5
#2,#4 thread 3,3
#2,#4 thread 3,2
#2,#4 thread 3,4
#2,#4 thread 3,0
#3 thread 1
#3 thread 0
#3 thread 2
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,2
#3,#2 thread 2,3
#3,#2 thread 2,1
#3,#2 thread 2,0
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,1
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,4
#3,#2,#2 thread 2,3,1
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,3
#3,#3 thread 2,2
#3,#3 thread 2,3
#3,#3 thread 2,0
#3,#3 thread 2,1
#3,#4 thread 2,2
#3,#4 thread 2,0
#3,#4 thread 2,1
#3,#4 thread 2,3
#3,#4 thread 2,4
#3,#4 thread 2,5
#4 thread 3
#4 thread 4
#4 thread 0
#4 thread 1
#4 thread 2
#4,#1 thread 2,1
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,0
#4,#2 thread 2,1
#4,#2 thread 2,3
#4,#2 thread 2,2
#4,#2 thread 2,0
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,1
#4,#2,#1 thread 2,0,4
#4,#2,#2 thread 2,2,1
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,4
#4,#2,#3 thread 2,3,1
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,2
#4,#2,#3 thread 2,3,3
#4,#3 thread 2,2
#4,#3 thread 2,3
#4,#3 thread 2,1
#4,#3 thread 2,0
#4,#4 thread 2,1
#4,#4 thread 2,2
#4,#4 thread 2,3
#4,#4 thread 2,5
#4,#4 thread 2,4
#4,#4 thread 2,0




On 7 Oct, 2013, at 1:32 PM, jakub at gcc dot gnu.org <gcc-bugzilla@gcc.gnu.org>
wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642
> 
> --- Comment #20 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> I'll commit the patch anyway, it is a step forward.
> 
> Anyway, the way the testcase is written is that if you run it with
> OMP_PROC_BIND=false in the environment and OMP_PLACES unset, then it should
> fork and exec /proc/self/exe with various settings of those two environment
> variables.
> Can you perhaps see in the debugger what value has contig_cpucount variable at
> the start of main, and why it decided not to fork (or, has it failed to exec
> /proc/self/exe)?
> 
> -- 
> You are receiving this mail because:
> You reported the bug.

--
Il est bon de suivre sa pente, pourvu que ce soit en montant. 
A.G.
http://www.flickr.com/photos/vin60/1320965757/
>From gcc-bugs-return-431254-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon Oct 07 12:16:46 2013
Return-Path: <gcc-bugs-return-431254-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 30324 invoked by alias); 7 Oct 2013 12:16:46 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 30278 invoked by uid 48); 7 Oct 2013 12:16:41 -0000
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
Date: Mon, 07 Oct 2013 12:16:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: libgomp
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jakub at gcc dot gnu.org
X-Bugzilla-Status: ASSIGNED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: jakub at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-58642-4-BYXxAQ8gqs@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-58642-4@http.gcc.gnu.org/bugzilla/>
References: <bug-58642-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2013-10/txt/msg00398.txt.bz2
Content-length: 854

http://gcc.gnu.org/bugzilla/show_bug.cgi?idX642

--- Comment #23 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Ah, right, obviously I meant
--- libgomp/testsuite/libgomp.c/affinity-1.c    2013-10-07 09:31:53.884695701
+0200
+++ libgomp/testsuite/libgomp.c/affinity-1.c    2013-10-07 14:09:52.475331358
+0200
@@ -178,7 +178,7 @@ main ()
   int test_places = 0;

 #ifdef DO_FORK
-  if (env_places == NULL && contig_cpucount == 8 && test_false
+  if (env_places == NULL && contig_cpucount >= 8 && test_false
       && getenv ("GOMP_AFFINITY") == NULL)
     {
       int i, j, status;
(the other spot already correctly uses >= 8 - all the testcase cares about is
that the first 8 logical CPUs can be used for affinity).
That answers the not seeing fork case, but if it doesn't print any verified
lines even with that, there would be some other issue.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (20 preceding siblings ...)
  2013-10-07 12:07 ` vincenzo.innocente at cern dot ch
@ 2013-10-07 12:43 ` vincenzo.innocente at cern dot ch
  2013-10-07 13:22 ` vincenzo.innocente at cern dot ch
                   ` (4 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-07 12:43 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #24 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
ok, modified to ">="
taskset -c 0-31 gdb ./affinity-1.exe
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6_4.1)
(gdb)  b
/home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c:179
Breakpoint 1 at 0x400d5f: file
/home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c, line
179.
(gdb) run
Breakpoint 1, main () at
/home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c:181
181    /home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c:
No such file or directory.
    in /home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c
Missing separate debuginfos, use: debuginfo-install
glibc-2.12-1.107.el6_4.4.x86_64
(gdb) print contig_cpucount 
$1 = 32

and then spawn etc

 but
taskset -c 24-31 gdb ./affinity-1.exe
Breakpoint 1, main () at
/home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c:181
181    /home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c:
No such file or directory.
    in /home/data/newsoft/gcc-gomp4/libgomp/testsuite/libgomp.c/affinity-1.c
Missing separate debuginfos, use: debuginfo-install
glibc-2.12-1.107.el6_4.4.x86_64
(gdb) print contig_cpucount 
$1 = 0
I see anyhow where contig_cpucount  is set.
up to you to generalize the test…
v.



On 7 Oct, 2013, at 2:16 PM, jakub at gcc dot gnu.org <gcc-bugzilla@gcc.gnu.org>
wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642
> 
> --- Comment #23 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> Ah, right, obviously I meant
> --- libgomp/testsuite/libgomp.c/affinity-1.c    2013-10-07 09:31:53.884695701
> +0200
> +++ libgomp/testsuite/libgomp.c/affinity-1.c    2013-10-07 14:09:52.475331358
> +0200
> @@ -178,7 +178,7 @@ main ()
>   int test_places = 0;
> 
> #ifdef DO_FORK
> -  if (env_places == NULL && contig_cpucount == 8 && test_false
> +  if (env_places == NULL && contig_cpucount >= 8 && test_false
>       && getenv ("GOMP_AFFINITY") == NULL)
>     {
>       int i, j, status;
> (the other spot already correctly uses >= 8 - all the testcase cares about is
> that the first 8 logical CPUs can be used for affinity).
> That answers the not seeing fork case, but if it doesn't print any verified
> lines even with that, there would be some other issue.
> 
> -- 
> You are receiving this mail because:
> You reported the bug.

--
Il est bon de suivre sa pente, pourvu que ce soit en montant. 
A.G.
http://www.flickr.com/photos/vin60/1320965757/
>From gcc-bugs-return-431258-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon Oct 07 13:02:25 2013
Return-Path: <gcc-bugs-return-431258-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 773 invoked by alias); 7 Oct 2013 13:02:24 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 737 invoked by uid 48); 7 Oct 2013 13:02:22 -0000
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
Date: Mon, 07 Oct 2013 13:02:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: libgomp
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jakub at gcc dot gnu.org
X-Bugzilla-Status: ASSIGNED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: jakub at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-58642-4-KrBY9KzspN@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-58642-4@http.gcc.gnu.org/bugzilla/>
References: <bug-58642-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2013-10/txt/msg00402.txt.bz2
Content-length: 356

http://gcc.gnu.org/bugzilla/show_bug.cgi?idX642

--- Comment #25 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
It is fine if the testcase doesn't fork and doesn't verify for taskset -c
24-31, that would be too hard to support, the testcase doesn't fail because of
that.
But, do you get the ", verified" strings in the lines for taskset -c 0-31 run?


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (21 preceding siblings ...)
  2013-10-07 12:43 ` vincenzo.innocente at cern dot ch
@ 2013-10-07 13:22 ` vincenzo.innocente at cern dot ch
  2013-10-07 17:04 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-07 13:22 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #26 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
On 7 Oct, 2013, at 3:02 PM, jakub at gcc dot gnu.org <gcc-bugzilla@gcc.gnu.org>
wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642
> 
> --- Comment #25 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> It is fine if the testcase doesn't fork and doesn't verify for taskset -c
> 24-31, that would be too hard to support, the testcase doesn't fail because of
> that.
> But, do you get the ", verified" strings in the lines for taskset -c 0-31 run?
> 
on the build machine yes
echo $OMP_PROC_BIND 
false
[innocent@vinavx0 testsuite]$ ./affinity-1.exe | grep veri | wc
   1065    7445   44193


on the XEON

nope
echo $OMP_PROC_BIND 
false
[innocent@olsnba04 parallel]$ ./affinity-1.exe | grep veri

libgomp: Number of places reduced from 5 to 1 because some places didn't
contain any usable logical CPUs

libgomp: None of the places contain usable logical CPUs

libgomp: Invalid value for environment variable OMP_PLACES

libgomp: Number of places reduced from 3 to 1 because some places didn't
contain any usable logical CPUs

libgomp: None of the places contain usable logical CPUs

libgomp: Invalid value for environment variable OMP_PLACES

libgomp: Number of places reduced from 8 to 1 because some places didn't
contain any usable logical CPUs

libgomp: Number of places reduced from 5 to 1 because some places didn't
contain any usable logical CPUs

libgomp: None of the places contain usable logical CPUs

libgomp: Invalid value for environment variable OMP_PLACES

libgomp: Number of places reduced from 3 to 1 because some places didn't
contain any usable logical CPUs

libgomp: None of the places contain usable logical CPUs

libgomp: Invalid value for environment variable OMP_PLACES

libgomp: Number of places reduced from 8 to 1 because some places didn't
contain any usable logical CPUs

same for
taskset -c 0-8 ./affinity-1.exe | grep veri


> -- 
> You are receiving this mail because:
> You reported the bug.

--
Il est bon de suivre sa pente, pourvu que ce soit en montant. 
A.G.
http://www.flickr.com/photos/vin60/1320965757/


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (22 preceding siblings ...)
  2013-10-07 13:22 ` vincenzo.innocente at cern dot ch
@ 2013-10-07 17:04 ` jakub at gcc dot gnu.org
  2013-10-08  6:40 ` vincenzo.innocente at cern dot ch
                   ` (2 subsequent siblings)
  26 siblings, 0 replies; 28+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-07 17:04 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #27 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to vincenzo Innocente from comment #26)
> [innocent@olsnba04 parallel]$ ./affinity-1.exe | grep veri
> 
> libgomp: Number of places reduced from 5 to 1 because some places didn't
> contain any usable logical CPUs
> 
> libgomp: None of the places contain usable logical CPUs
> 
> libgomp: Invalid value for environment variable OMP_PLACES

Ugh, none of these look expected.  Can you cut'n'paste the
OMP_PROC_BIND=... OMP_PLACES=...
line from before some of these errors and see if you can
reproduce it with running ./affinity-1.exe with those two env vars?
Can you strace | grep affinity it?
The == 8 to >= 8 change is already in the gomp-4_0-branch BTW.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (23 preceding siblings ...)
  2013-10-07 17:04 ` jakub at gcc dot gnu.org
@ 2013-10-08  6:40 ` vincenzo.innocente at cern dot ch
  2013-10-08  7:22 ` vincenzo.innocente at cern dot ch
  2013-10-11 10:40 ` jakub at gcc dot gnu.org
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-08  6:40 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #28 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
updated to the new revision
gcc version 4.9.0 20131007 (experimental) [gomp-4_0-branch revision 203250]
(GCC) 

[innocent@olsnba04 parallel]$ setenv OMP_PROC_BIND 'spread,master,close';
setenv OMP_PLACES '{0}:8'
[innocent@olsnba04 parallel]$ printenv | grep OMP
OMP_PROC_BIND=spread,master,close
OMP_PLACES={0}:8
[innocent@olsnba04 parallel]$ strace ./affinity-1.exe | & grep affin
execve("./affinity-1.exe", ["./affinity-1.exe"], [/* 61 vars */]) = 0
sched_getaffinity(109733, 8, 0x1dc8010) = -1 EINVAL (Invalid argument)
sched_getaffinity(109733, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_getaffinity(109733, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_setaffinity(109733, 8,  { 1 })    = 0
sched_getaffinity(109733, 8, 0x7fff71425940) = -1 EINVAL (Invalid argument)
sched_setaffinity(109734, 8,  { 4 })    = 0
sched_setaffinity(109735, 8,  { 10 })   = 0
sched_setaffinity(109736, 8,  { 40 })   = 0
sched_getaffinity(109733, 8, 0x7fff714258c0) = -1 EINVAL (Invalid argument)
sched_setaffinity(109755, 8,  { 80 })   = 0
sched_getaffinity(109733, 8, 0x7fff714258b0) = -1 EINVAL (Invalid argument)
sched_setaffinity(109770, 8,  { 1 })    = 0
sched_setaffinity(109771, 8,  { 1 })    = 0
sched_getaffinity(109733, 8, 0x7fff714258c0) = -1 EINVAL (Invalid argument)
sched_setaffinity(109794, 8,  { 2 })    = 0
sched_setaffinity(109795, 8,  { 4 })    = 0
sched_setaffinity(109796, 8,  { 8 })    = 0
sched_setaffinity(109797, 8,  { 10 })   = 0
sched_getaffinity(109733, 8, 0x7fff714258b0) = -1 EINVAL (Invalid argument)

[innocent@olsnba04 parallel]$ ./affinity-1.exe
OMP_PROC_BIND='spread,master,close' OMP_PLACES='{0}:8'
Initial thread
#1 thread 0
#1 thread 2
#1 thread 1
#1 thread 3
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#1 thread 3,1
#1,#2 thread 3,3
#1,#2 thread 3,0
#1,#2 thread 3,2
#1,#2 thread 3,4
#1,#2 thread 3,1
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,5
#1,#4 thread 3,0
#1,#4 thread 3,4
#1,#4 thread 3,2
#1,#4 thread 3,3
#1,#4 thread 3,1
#2 thread 0
#2 thread 3
#2 thread 1
#2 thread 2
#2 thread 4
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,0
#2,#2 thread 3,4
#2,#2 thread 3,3
#2,#2 thread 3,2
#2,#2 thread 3,1
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,0
#2,#4 thread 3,5
#2,#4 thread 3,4
#2,#4 thread 3,3
#2,#4 thread 3,2
#2,#4 thread 3,1
#3 thread 0
#3 thread 2
#3 thread 1
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,2
#3,#2 thread 2,1
#3,#2 thread 2,0
#3,#2 thread 2,3
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,1
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,1
#3,#3 thread 2,0
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#3 thread 2,1
#3,#4 thread 2,5
#3,#4 thread 2,1
#3,#4 thread 2,0
#3,#4 thread 2,2
#3,#4 thread 2,3
#3,#4 thread 2,4
#4 thread 1
#4 thread 2
#4 thread 3
#4 thread 4
#4 thread 0
#4,#1 thread 2,0
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,1
#4,#2 thread 2,1
#4,#2 thread 2,3
#4,#2 thread 2,2
#4,#2 thread 2,0
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,1
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,3
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,1
#4,#2,#3 thread 2,3,3
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,1
#4,#2,#3 thread 2,3,2
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#3 thread 2,1
#4,#4 thread 2,2
#4,#4 thread 2,5
#4,#4 thread 2,4
#4,#4 thread 2,0
#4,#4 thread 2,1
#4,#4 thread 2,3

[innocent@olsnba04 parallel]$ setenv OMP_PROC_BIND 'spread,master,close';
setenv OMP_PLACES '{7,6}:2:-3'
[innocent@olsnba04 parallel]$ printenv | grep OMP
OMP_PROC_BIND=spread,master,close
OMP_PLACES={7,6}:2:-3
strace ./affinity-1.exe |& grep affin
execve("./affinity-1.exe", ["./affinity-1.exe"], [/* 61 vars */]) = 0
sched_getaffinity(109640, 8, 0x24e9010) = -1 EINVAL (Invalid argument)
sched_getaffinity(109640, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_getaffinity(109640, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_setaffinity(109640, 8,  { c0 })   = 0
sched_getaffinity(109640, 8, 0x7fffaeaeda40) = -1 EINVAL (Invalid argument)
sched_setaffinity(109641, 8,  { c0 })   = 0
sched_setaffinity(109642, 8,  { 18 })   = 0
sched_setaffinity(109643, 8,  { 18 })   = 0
sched_getaffinity(109640, 8, 0x7fffaeaed9c0) = -1 EINVAL (Invalid argument)
sched_setaffinity(109662, 8,  { c0 })   = 0
sched_getaffinity(109640, 8, 0x7fffaeaed9b0) = -1 EINVAL (Invalid argument)
sched_getaffinity(109640, 8, 0x7fffaeaed9c0) = -1 EINVAL (Invalid argument)
sched_setaffinity(109699, 8,  { 18 })   = 0
sched_setaffinity(109700, 8,  { 18 })   = 0
sched_getaffinity(109640, 8, 0x7fffaeaed9b0) = -1 EINVAL (Invalid argument)

[innocent@olsnba04 parallel]$ ./affinity-1.exe
OMP_PROC_BIND='spread,master,close' OMP_PLACES='{7,6}:2:-3'
Initial thread
#1 thread 0
#1 thread 3
#1 thread 1
#1 thread 2
#1,#1 thread 3,1
#1,#1 thread 3,2
#1,#1 thread 3,0
#1,#2 thread 3,2
#1,#2 thread 3,3
#1,#2 thread 3,0
#1,#2 thread 3,1
#1,#2 thread 3,4
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#4 thread 3,1
#1,#4 thread 3,0
#1,#4 thread 3,5
#1,#4 thread 3,4
#1,#4 thread 3,3
#1,#4 thread 3,2
#2 thread 2
#2 thread 0
#2 thread 3
#2 thread 1
#2 thread 4
#2,#1 thread 3,1
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#2 thread 3,0
#2,#2 thread 3,2
#2,#2 thread 3,3
#2,#2 thread 3,1
#2,#2 thread 3,4
#2,#3 thread 3,1
#2,#3 thread 3,2
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#4 thread 3,0
#2,#4 thread 3,3
#2,#4 thread 3,4
#2,#4 thread 3,1
#2,#4 thread 3,5
#2,#4 thread 3,2
#3 thread 0
#3 thread 2
#3 thread 1
#3,#1 thread 2,2
#3,#1 thread 2,0
#3,#1 thread 2,1
#3,#1 thread 2,3
#3,#2 thread 2,0
#3,#2 thread 2,1
#3,#2 thread 2,3
#3,#2 thread 2,2
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,1
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,1
#3,#3 thread 2,0
#3,#3 thread 2,1
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#4 thread 2,3
#3,#4 thread 2,0
#3,#4 thread 2,1
#3,#4 thread 2,4
#3,#4 thread 2,5
#3,#4 thread 2,2
#4 thread 1
#4 thread 3
#4 thread 4
#4 thread 2
#4 thread 0
#4,#1 thread 2,1
#4,#1 thread 2,0
#4,#1 thread 2,2
#4,#1 thread 2,3
#4,#2 thread 2,2
#4,#2 thread 2,1
#4,#2 thread 2,3
#4,#2 thread 2,0
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,1
#4,#2,#1 thread 2,0,4
#4,#2,#2 thread 2,2,1
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,2
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,3
#4,#2,#3 thread 2,3,1
#4,#2,#3 thread 2,3,2
#4,#3 thread 2,1
#4,#3 thread 2,0
#4,#3 thread 2,2
#4,#3 thread 2,3
#4,#4 thread 2,2
#4,#4 thread 2,3
#4,#4 thread 2,0
#4,#4 thread 2,5
#4,#4 thread 2,1
#4,#4 thread 2,4
[innocent@olsnba04 parallel]$ 


>>


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (24 preceding siblings ...)
  2013-10-08  6:40 ` vincenzo.innocente at cern dot ch
@ 2013-10-08  7:22 ` vincenzo.innocente at cern dot ch
  2013-10-11 10:40 ` jakub at gcc dot gnu.org
  26 siblings, 0 replies; 28+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2013-10-08  7:22 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

--- Comment #30 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
better: as usual nastier bugs are in the tests!
[innocent@olsnba04 parallel]$ strace ./affinity-1.exe | & grep affin
execve("./affinity-1.exe", ["./affinity-1.exe"], [/* 61 vars */]) = 0
sched_getaffinity(110481, 8, 0x7b8010)  = -1 EINVAL (Invalid argument)
sched_getaffinity(110481, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_getaffinity(110481, 128,  { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_setaffinity(110481, 8,  { 1 })    = 0
sched_getaffinity(110481, 128,  { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0 }) = 128
sched_setaffinity(110482, 8,  { 4 })    = 0
sched_setaffinity(110483, 8,  { 10 })   = 0
sched_setaffinity(110484, 8,  { 40 })   = 0
sched_getaffinity(110481, 128,  { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0 }) = 128
sched_setaffinity(110503, 8,  { 80 })   = 0
sched_getaffinity(110481, 128,  { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0 }) = 128
sched_setaffinity(110518, 8,  { 1 })    = 0
sched_setaffinity(110519, 8,  { 1 })    = 0
sched_getaffinity(110481, 128,  { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0 }) = 128
sched_setaffinity(110542, 8,  { 2 })    = 0
sched_setaffinity(110543, 8,  { 4 })    = 0
sched_setaffinity(110544, 8,  { 8 })    = 0
sched_setaffinity(110545, 8,  { 10 })   = 0
sched_getaffinity(110481, 128,  { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0 }) = 128
[innocent@olsnba04 parallel]$ ./affinity-1.exe 
OMP_PROC_BIND='spread,master,close' OMP_PLACES='{0}:8'
Initial thread bound to {0}, verified
#1 thread 0 bound to {0}, verified
#1 thread 1 bound to {2}, verified
#1 thread 2 bound to {4}, verified
#1 thread 3 bound to {6}, verified
#1,#1 thread 3,0 bound to {6}, verified
#1,#1 thread 3,2 bound to {6}, verified
#1,#1 thread 3,1 bound to {6}, verified
#1,#2 thread 3,0 bound to {6}, verified
#1,#2 thread 3,3 bound to {7}, verified
#1,#2 thread 3,4 bound to {6}, verified
#1,#2 thread 3,2 bound to {7}, verified
#1,#2 thread 3,1 bound to {6}, verified
#1,#2,#1 thread 3,3,0 bound to {7}, verified
#1,#2,#1 thread 3,3,4 bound to {7}, verified
#1,#2,#1 thread 3,3,3 bound to {7}, verified
#1,#2,#1 thread 3,3,2 bound to {7}, verified
#1,#2,#1 thread 3,3,1 bound to {7}, verified
#1,#3 thread 3,0 bound to {6}, verified
#1,#3 thread 3,3 bound to {6}, verified
#1,#3 thread 3,2 bound to {6}, verified
#1,#3 thread 3,1 bound to {6}, verified
#1,#4 thread 3,4 bound to {7}, verified
#1,#4 thread 3,0 bound to {6}, verified
#1,#4 thread 3,3 bound to {7}, verified
#1,#4 thread 3,2 bound to {6}, verified
#1,#4 thread 3,5 bound to {7}, verified
#1,#4 thread 3,1 bound to {6}, verified
#2 thread 0 bound to {0}, verified
#2 thread 1 bound to {2}, verified
#2 thread 3 bound to {6}, verified
#2 thread 4 bound to {7}, verified
#2 thread 2 bound to {4}, verified
#2,#1 thread 3,0 bound to {6}, verified
#2,#1 thread 3,2 bound to {6}, verified
#2,#1 thread 3,1 bound to {6}, verified
#2,#2 thread 3,0 bound to {6}, verified
#2,#2 thread 3,4 bound to {6}, verified
#2,#2 thread 3,3 bound to {6}, verified
#2,#2 thread 3,2 bound to {6}, verified
#2,#2 thread 3,1 bound to {6}, verified
#2,#3 thread 3,0 bound to {6}, verified
#2,#3 thread 3,3 bound to {6}, verified
#2,#3 thread 3,2 bound to {6}, verified
#2,#3 thread 3,1 bound to {6}, verified
#2,#4 thread 3,0 bound to {6}, verified
#2,#4 thread 3,5 bound to {6}, verified
#2,#4 thread 3,4 bound to {6}, verified
#2,#4 thread 3,3 bound to {6}, verified
#2,#4 thread 3,2 bound to {6}, verified
#2,#4 thread 3,1 bound to {6}, verified
#3 thread 0 bound to {0}, verified
#3 thread 2 bound to {0}, verified
#3 thread 1 bound to {0}, verified
#3,#1 thread 2,0 bound to {0}, verified
#3,#1 thread 2,3 bound to {0}, verified
#3,#1 thread 2,2 bound to {0}, verified
#3,#1 thread 2,1 bound to {0}, verified
#3,#2 thread 2,2 bound to {4}, verified
#3,#2 thread 2,1 bound to {2}, verified
#3,#2 thread 2,0 bound to {0}, verified
#3,#2 thread 2,3 bound to {6}, verified
#3,#2,#1 thread 2,0,1 bound to {0}, verified
#3,#2,#1 thread 2,0,0 bound to {0}, verified
#3,#2,#1 thread 2,0,3 bound to {1}, verified
#3,#2,#1 thread 2,0,4 bound to {0}, verified
#3,#2,#1 thread 2,0,2 bound to {1}, verified
#3,#2,#2 thread 2,3,0 bound to {6}, verified
#3,#2,#2 thread 2,3,3 bound to {7}, verified
#3,#2,#2 thread 2,3,2 bound to {7}, verified
#3,#2,#2 thread 2,3,4 bound to {6}, verified
#3,#2,#2 thread 2,3,1 bound to {6}, verified
#3,#3 thread 2,0 bound to {0}, verified
#3,#3 thread 2,3 bound to {0}, verified
#3,#3 thread 2,2 bound to {0}, verified
#3,#3 thread 2,1 bound to {0}, verified
#3,#4 thread 2,1 bound to {1}, verified
#3,#4 thread 2,5 bound to {5}, verified
#3,#4 thread 2,3 bound to {3}, verified
#3,#4 thread 2,0 bound to {0}, verified
#3,#4 thread 2,2 bound to {2}, verified
#3,#4 thread 2,4 bound to {4}, verified
#4 thread 1 bound to {1}, verified
#4 thread 2 bound to {2}, verified
#4 thread 3 bound to {3}, verified
#4 thread 4 bound to {4}, verified
#4 thread 0 bound to {0}, verified
#4,#1 thread 2,0 bound to {2}, verified
#4,#1 thread 2,3 bound to {2}, verified
#4,#1 thread 2,2 bound to {2}, verified
#4,#1 thread 2,1 bound to {2}, verified
#4,#2 thread 2,1 bound to {4}, verified
#4,#2 thread 2,3 bound to {0}, verified
#4,#2 thread 2,2 bound to {6}, verified
#4,#2 thread 2,0 bound to {2}, verified
#4,#2,#1 thread 2,0,0 bound to {2}, verified
#4,#2,#1 thread 2,0,3 bound to {3}, verified
#4,#2,#1 thread 2,0,2 bound to {3}, verified
#4,#2,#1 thread 2,0,4 bound to {2}, verified
#4,#2,#1 thread 2,0,1 bound to {2}, verified
#4,#2,#2 thread 2,2,3 bound to {7}, verified
#4,#2,#2 thread 2,2,2 bound to {7}, verified
#4,#2,#2 thread 2,2,4 bound to {6}, verified
#4,#2,#2 thread 2,2,1 bound to {6}, verified
#4,#2,#2 thread 2,2,0 bound to {6}, verified
#4,#2,#3 thread 2,3,2 bound to {1}, verified
#4,#2,#3 thread 2,3,0 bound to {0}, verified
#4,#2,#3 thread 2,3,4 bound to {0}, verified
#4,#2,#3 thread 2,3,1 bound to {0}, verified
#4,#2,#3 thread 2,3,3 bound to {1}, verified
#4,#3 thread 2,0 bound to {2}, verified
#4,#3 thread 2,3 bound to {2}, verified
#4,#3 thread 2,2 bound to {2}, verified
#4,#3 thread 2,1 bound to {2}, verified
#4,#4 thread 2,1 bound to {3}, verified
#4,#4 thread 2,2 bound to {4}, verified
#4,#4 thread 2,5 bound to {7}, verified
#4,#4 thread 2,4 bound to {6}, verified
#4,#4 thread 2,0 bound to {2}, verified
#4,#4 thread 2,3 bound to {5}, verified

./affinity-1.exe | grep verified | wc
   1065    7445   44193

taskset -c 0-15 ./affinity-1.exe | grep gomp | wc
      0       0       0
[innocent@olsnba04 parallel]$ 


> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642
> 
> --- Comment #29 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> Created attachment 30967
>  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30967&action=edit
> Y
> 
> Ah, thanks, I can see where the failing sched_getaffinity calls are coming
> from, hopefully this patch should fix that.
> 
> That doesn't explain the libgomp errors you were getting though (if you can
> still reproduce them).
> To track that perhaps we could instrument libgomp to tell us more details.
> 
> -- 
> You are receiving this mail because:
> You reported the bug.

--
Il est bon de suivre sa pente, pourvu que ce soit en montant. 
A.G.
http://www.flickr.com/photos/vin60/1320965757/


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Bug libgomp/58642] gomp regression: not "honoring" anymore task set and numactl
  2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
                   ` (25 preceding siblings ...)
  2013-10-08  7:22 ` vincenzo.innocente at cern dot ch
@ 2013-10-11 10:40 ` jakub at gcc dot gnu.org
  26 siblings, 0 replies; 28+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-11 10:40 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #31 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed on the trunk now (gomp4 branch merged into trunk).


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2013-10-11 10:40 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-06 13:42 [Bug libgomp/58642] New: gomp regression: not "honoring" anymore task set and numactl vincenzo.innocente at cern dot ch
2013-10-06 13:56 ` [Bug libgomp/58642] " jakub at gcc dot gnu.org
2013-10-06 14:05 ` jakub at gcc dot gnu.org
2013-10-06 14:38 ` vincenzo.innocente at cern dot ch
2013-10-06 15:15 ` vincenzo.innocente at cern dot ch
2013-10-06 18:02 ` jakub at gcc dot gnu.org
2013-10-06 19:31 ` jakub at gcc dot gnu.org
2013-10-07  6:49 ` vincenzo.innocente at cern dot ch
2013-10-07  6:53 ` vincenzo.innocente at cern dot ch
2013-10-07  7:47 ` jakub at gcc dot gnu.org
2013-10-07  7:58 ` vincenzo.innocente at cern dot ch
2013-10-07  8:04 ` jakub at gcc dot gnu.org
2013-10-07  8:06 ` jakub at gcc dot gnu.org
2013-10-07  8:08 ` vincenzo.innocente at cern dot ch
2013-10-07  8:12 ` vincenzo.innocente at cern dot ch
2013-10-07 10:14 ` vincenzo.innocente at cern dot ch
2013-10-07 10:28 ` jakub at gcc dot gnu.org
2013-10-07 11:03 ` vincenzo.innocente at cern dot ch
2013-10-07 11:06 ` vincenzo.innocente at cern dot ch
2013-10-07 11:32 ` jakub at gcc dot gnu.org
2013-10-07 11:39 ` jakub at gcc dot gnu.org
2013-10-07 12:07 ` vincenzo.innocente at cern dot ch
2013-10-07 12:43 ` vincenzo.innocente at cern dot ch
2013-10-07 13:22 ` vincenzo.innocente at cern dot ch
2013-10-07 17:04 ` jakub at gcc dot gnu.org
2013-10-08  6:40 ` vincenzo.innocente at cern dot ch
2013-10-08  7:22 ` vincenzo.innocente at cern dot ch
2013-10-11 10:40 ` jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).