Move the watchdog/0 thread to a cpuset that doesn't have access to cpu 0.
Same situation occurs for a task bound to a cpuset that issues a
sched_setaffinity() call to restrict its cpumask further. There's nothing
new there.
I'd hesitate to do that unless you can guarantee that restricting
kthreads mems_allowed via the cpuset interface won't cause any problems
either. Is there a benefit to reducing the size of a kthread's
mems_allowed that doesn't have an adverse effect on the kernel? What
about kswapd?
You can move them, but you cannot reduce the size of the thread's
cpus_allowed since it was bound to a specific cpu via kthread_bind(). The
change to set_cpus_allowed() simply prevents this from happening in the
kernel as opposed to just stopping the possibility through cpusets.
Sure.
--