Messages in this thread | | | Date | Tue, 22 Jun 2010 17:16:22 -0700 | From | Andrew Morton <> | Subject | Re: FW: sched_setaffinity not working with kernel 2.6.32.15 |
| |
On Sun, 20 Jun 2010 22:10:18 +0300 ____________________ ______________________________ <psxlover@hotmail.com> wrote:
> > From: psxlover@hotmail.com > To: mingo@elte.hu; peterz@infradead.org > Subject: > sched_setaffinity not working with kernel 2.6.32.15 > Date: Sun, 20 > Jun 2010 17:14:12 +0300
I assume from this that you initially sent the email privately to Peter&Ingo, then forwarded it to the list without cc'ing Peter&Ingo. So if they're already responded to the inital email, I'm wasting my time. Ho hum.
> ...
That's a great bug report - fully bisected and it includes a testcase. Thanks.
However I think your testcase is buggy. You have main() racing against print_affinity(). If a sub-thread runs print_affinity() before main() has run set_threadaffinity(), print_affinity() will obviously print main()'s affinity.
Between 2.6.18 and 2.6.35-rc3 the timing changed a bit - in the later kernel the sub-threads are running before main() is able to change their affinity. In the earlier kernel the sub-threads run first.
In both kernels, all CPU consumption is on CPU 0 as desired.
Re-enabling the sleep(1) in threadCode() fixes the print_affinity() output, confirming that it's a userspace race.
| |