------- Comment #4 from mika dot fischer at kit dot edu 2010-04-09 22:10 ------- I'm Martin's coworker and want to add some additional points.
Just be be clear, this is not an exotic toy example, it is causing us real problems with production code. Martin just stripped it down so it can be easily reproduced. The same goes for GOMP_CPU_AFFINITY. Of course we don't use it. It just makes it very easy to reproduce the bug. The real problem we're having is being caused by other threads than OpenMP threads causing load on some cores. You can also easily test this by occupying one of the cores using some computation and running the test program without GOMP_CPU_AFFINITY. I also don't quite get why GOMP_CPU_AFFINITY should cause starvation. Maybe you could elaborate. It's clear that it will cause additional scheduling overhead and one thread might have to wait for the other to finish, but I would not call this starvation. Finally, and most importantly, the workaround we're currently employing is to use libgomp.so.1 (via LD_LIBRARY_PATH) from OpenSuSE 11.0. With this version of libgomp, the problem does not occur at all! Here's the gcc -v output from the GCC release of OpenSuSE 11.0 from which we took the working libgomp: gcc -v Using built-in specs. Target: x86_64-suse-linux Configured with: ../configure --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3 --enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --program-suffix=-4.3 --enable-version-specific-runtime-libs --enable-linux-futex --without-system-libunwind --with-cpu=generic --build=x86_64-suse-linux Thread model: posix gcc version 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036] (SUSE Linux) -- mika dot fischer at kit dot edu changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mika dot fischer at kit dot | |edu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43706