• Paul Jackson's avatar
    [PATCH] cpuset memory spread basic implementation · 825a46af
    Paul Jackson authored
    This patch provides the implementation and cpuset interface for an alternative
    memory allocation policy that can be applied to certain kinds of memory
    allocations, such as the page cache (file system buffers) and some slab caches
    (such as inode caches).
    
    The policy is called "memory spreading." If enabled, it spreads out these
    kinds of memory allocations over all the nodes allowed to a task, instead of
    preferring to place them on the node where the task is executing.
    
    All other kinds of allocations, including anonymous pages for a tasks stack
    and data regions, are not affected by this policy choice, and continue to be
    allocated preferring the node local to execution, as modified by the NUMA
    mempolicy.
    
    There are two boolean flag files per cpuset that control where the kernel
    allocates pages for the file system buffers and related in kernel data
    structures.  They are called 'memory_spread_page' and 'memory_spread_slab'.
    
    If the per-cpuset boolean flag file ...
    825a46af
cpusets.txt 25.7 KB