On Mon, 9 Apr 2007 22:31:08 -0400 Dave Jones <davej@redhat.com> wrote:
set_cpus_allowed() will only sleep in special circumstances: when we're
telling the target task that it is not allwed to run on a CPU upon which it
is presently executing. So it needs to be synchronously migrated off that
CPU, which requires that the set_cpus_allowed() caller block.
You're probably just not hitting that case.
Probably we should have a might_sleep() in set_cpus_allowed(), although
there might be callers who are guaranteeed to never hit that case and who
might legitimately want special treatment to avoid the warning.
Yeah, I get a lot of patches like that.
-