Re: FW: sched_setaffinity not working with kernel 2.6.32.15
From: Andrew Morton
Date: Tue Jun 22 2010 - 20:17:33 EST
On Sun, 20 Jun 2010 22:10:18 +0300
____________________ ______________________________ <psxlover@xxxxxxxxxxx> wrote:
>
> From: psxlover@xxxxxxxxxxx
> To: mingo@xxxxxxx; peterz@xxxxxxxxxxxxx
> 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/