On Mon, Mar 3, 2008 at 10:10 AM, Paul Jackson <pj@sgi....> wrote:
> 2) They need non-overlapping cpusets at this level to control
> memory placement of some kernel allocations, which are allowed
> outside the current tasks cpuset, to be confined by the nearest
> ancestor cpuset marked 'mem_exclusive'
A while ago I posted a patch that split "cpusets" into "cpusets"
(controlling CPU) and "memsets" (controlling memory node placement).
It got luke-warm reception at the time, but maybe it's worth me fixing
it up and resending? It wouldn't have to affect the legacy mounts of
cpusets, but would allow memory and CPU assignments to be controlled
Also, one of the problems with the mem_exclusive flag at the moment is
that it's overloaded to mean "no-overlapping" and "no GFP_KERNEL
allocations outside this cpuset". If we added a "mem_hardwall" flag
that just had the latter semantics (i.e. either mem_exclusive or
mem_hardwall would be sufficient to confine GFP_KERNEL allocations
within the cpuset), you could have the confinement without worrying
about overlap issues.