• Lee Schermerhorn's avatar
    mempolicy: use MPOL_F_LOCAL to Indicate Preferred Local Policy · fc36b8d3
    Lee Schermerhorn authored
    Now that we're using "preferred local" policy for system default, we need to
    make this as fast as possible.  Because of the variable size of the mempolicy
    structure [based on size of nodemasks], the preferred_node may be in a
    different cacheline from the mode.  This can result in accessing an extra
    cacheline in the normal case of system default policy.  Suspect this is the
    cause of an observed 2-3% slowdown in page fault testing relative to kernel
    without this patch series.
    
    To alleviate this, use an internal mode flag, MPOL_F_LOCAL in the mempolicy
    flags member which is guaranteed [?] to be in the same cacheline as the mode
    itself.
    
    Verified that reworked mempolicy now performs slightly better on 25-rc8-mm1
    for both anon and shmem segments with system default and vma [preferred local]
    policy.
    Signed-off-by: default avatarLee Schermerhorn <lee.schermerhorn@hp.com>
    Cc: Christoph Lameter <clameter@sgi.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Cc: Andi Kleen <ak@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    fc36b8d3
mempolicy.c 55.1 KB