Re: [RFC 2.6.11-rc2-mm2 0/7] mm: manual page migration -- overview

Paul Jackson
2005-02-15T15:21:06Z

Ray wrote:
> The exact ordering of when a task is moved to a new cpuset and when the
> migration occurs doesn't matter, AFAIK, if we accept the notion that
> a migrated task is in suspended state until after everything associated
> with it (including the new cpuset definition) is done.

The existance of _some_ sequence of system calls such that user space
could, if it so chose, do the 'right' thing does not exonerate the
kernel from enforcing its rules, on each call.

The kernel certainly does not have a crystal ball that lets it say "ok -
let this violation of my rules pass - I know that the caller will
straighten things out before it lets anything ontoward occur (before
it removes the suspension, in this case.)

In other words, more directly, the kernel must return from each system
call with everything in order, all its rules enforced.

I still think that migration should honor cpusets, unless you can show
me a good reason why that's too cumbersome. At least a migration patch
for *-mm should honor cpusets. When the migration patch goes into
Linus's main tree, then it should honor cpusets there too, if cpusets
are already there. Or if migration goes into Linus's tree before
cpusets, the onus would be on cpusets to add the changes to the
migration code honoring cpusets, when and if cpusets followed along.

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@sgi.com> 1.650.933.1373, 1.925.600.0401