How about moving watchdog/0 to a cpuset with exclusive access to only cpu
1?
That's a convenient way for a kthread to temporarily expand its set of
cpus_allowed and then never be able to remove the added cpus again. Do
you have any examples in the tree where a kthread does this?
That's why the check in set_cpus_allowed() is
cpus_equal(p->cpus_allowed, newmask)
since it prevents PF_CPU_BOUND tasks from being moved out of the root
cpuset.
PF_CPU_BOUND follows the nomenclature of kthread_bind() really well, but
it could probably be confused with a processor-bound task. So perhaps
PF_BOUND_CPU is even better?
David
--