• Paul Jackson's avatar
    [PATCH] cpuset memory spread page cache implementation and hooks · 44110fe3
    Paul Jackson authored
    Change the page cache allocation calls to support cpuset memory spreading.
    
    See the previous patch, cpuset_mem_spread, for an explanation of cpuset memory
    spreading.
    
    On systems without cpusets configured in the kernel, this is no change.
    
    On systems with cpusets configured in the kernel, but the "memory_spread"
    cpuset option not enabled for the current tasks cpuset, this adds a call to a
    cpuset routine and failed bit test of the processor state flag PF_SPREAD_PAGE.
    
    On tasks in cpusets with "memory_spread" enabled, this adds a call to a cpuset
    routine that computes which of the tasks mems_allowed nodes should be
    preferred for this allocation.
    
    If memory spreading applies to a particular allocation, then any other NUMA
    mempolicy does not apply.
    Signed-off-by: default avatarPaul Jackson <pj@sgi.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    44110fe3
filemap.c 58.3 KB