Would your first sentence be more clearly written as:
Or do I misunderstand?
If I am reading you correctly, then would it work to have a check in the
cpuset code (rather than in the lower set_cpus_allowed() routine),
where that check refused to move tasks out of the root cpuset if they
were (1) kernel threads (mm NULL) and (2) had cpus_allowed that were a
strict subset of the root cpusets 'cpus' (the online cpus).
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@sgi.com> 1.940.382.4214
--