Kernel threads inherit CPU affinity from random sibling

Peter Holm peter at holm.cc
Sun Jan 29 11:02:27 UTC 2012


On Sat, Jan 28, 2012 at 02:39:17PM +0100, Attilio Rao wrote:
> 2012/1/28 Attilio Rao <attilio at freebsd.org>:
> > 2012/1/28 Ryan Stone <rysto32 at gmail.com>:
> >> On Fri, Jan 27, 2012 at 10:41 PM, Attilio Rao <attilio at freebsd.org> wrote:
> >>> I think what you found out is very sensitive.
> >>> However, the patch is not correct as you cannot call
> >>> cpuset_setthread() with thread_lock held.
> >>
> >> Whoops!  I actually discovered that for myself and had already fixed
> >> it, but apparently I included an old version of the patch in the
> >> email.
> >>
> >>> Hence this is my fix:
> >>> http://www.freebsd.org/~attilio/cpuset_root.patch
> >>
> >> Oh, I do like this better.  I tried something similar myself but
> >> abandoned it because I misread how sched_affinity() was implemented by
> >> 4BSD(I had gotten the impression that once TSF_AFFINITY is set it
> >> could never be cleared).
> >
> > Do you have a pathological test-case for it? Are you going to test the patch?
> 
> BTW, I've just now updated the patch in order to remove an added white
> line and s/priority/affinity in comments.
> 

I've tested this patch with what I got of threaded test scenarios, for
14 hours without finding any issues.

- Peter


More information about the freebsd-hackers mailing list