Rusty Russell wrote: > On Tue, 28 Jul 2009 03:42:15 am David Rientjes wrote: >> On Mon, 27 Jul 2009, Gregory Haskins wrote: >> >>> I am not sure when this started, but noticed that sched_getaffinity is >>> not working in -rc4. >>> >>> [pid 6254] sched_getaffinity(0, 128, 0x7f80586b1fe0) = -1 EINVAL >>> (Invalid argument) >>> >>> Here is a simple program for reproduction: >>> >>> #include >>> >>> int main(void) >>> { >>> cpu_set_t mask; >>> int ret; >>> >>> ret = sched_getaffinity(0, sizeof(mask), &mask); >>> if (ret < 0) >>> perror("getaffinity"); >>> >>> return ret; >>> } >>> >>> If I get time, I will bisect this later today. >>> >> It's most likely due to the cpumask changes. I don't know what cpu_set_t >> is, but it's probably smaller than CONFIG_NR_CPUS rounded up to a multiple >> of sizeof(long). > > It's simply that you finally ran this on a kernel which had > CONFIG_NR_CPUS > 1024. Indeed. I thought I had replied to the list that I figured that out, but I think it might have been a trimmed list from someone elses reply. Long story short, MAXSMP=y crept in, which set NR_CPUS=4096. Backing this off < 1024 indeed fixes the issue. Thanks to all who replied! -Greg