Re: [patch -mm v2] cpusets: add memory_slab_hardwall flag

From: Christoph Lameter
Date: Fri Mar 13 2009 - 16:36:33 EST


On Thu, 12 Mar 2009, David Rientjes wrote:

> If `memory_slab_hardwall' is set for a cpuset, its tasks will only pull a
> slab off the partial list that was allocated on an allowed node. So in my
> earlier example which segments the machine via cpusets for NUMA locality
> and then divides those cpusets further for exclusive memory to provide to
> individual jobs, slab allocations will be constrained within the cpuset of
> the task that allocated them. When a job dies, all slab allocations are
> freed so that no objects remain on the memory allowed to that job and,
> thus, no partial slabs remain (i.e. there were no object allocations on
> the job's slabs from disjoint cpusets because of the exclusivity).

In order to do that you would need to duplicate the partial lists for
each job and then guarantee that only the job uses objects from these
partial pages.

Usually some partial allocated pages are kept around and are
indiscriminately used by various system components by the OS due to other
processing. Creating partial slabs cannot be avoided like that.





--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/