------- Comment #7 from jakub at gcc dot gnu dot org 2008-10-13 09:43 ------- sched_getaffinity(3502, 128, { ff, 0, 0, 0 }) = 32 .... sched_getaffinity(3502, 128, { 1, 0, 0, 0 }) = 32 ... sched_getaffinity(3502, 128, { 1, 0, 0, 0 }) = 32 Shows that the process originally was bound to any of the 8 CPUs (mask 0xff), but after a while it got confined only to the first CPU. The question is what has done that. You can look for sched_setaffinity syscall in the strace dump, then either from the surrounding syscalls or under debugger find out where sched_setaffinity or pthread_setaffinity_np functions have been called from or if the program invokes the syscall directly, without calling a libc/libpthread function.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37586