• Lee Schermerhorn's avatar
    mm: mempolicy: Add MPOL_NOOP · d3a71033
    Lee Schermerhorn authored
    This patch augments the MPOL_MF_LAZY feature by adding a "NOOP" policy
    to mbind().  When the NOOP policy is used with the 'MOVE and 'LAZY
    flags, mbind() will map the pages PROT_NONE so that they will be
    migrated on the next touch.
    
    This allows an application to prepare for a new phase of operation
    where different regions of shared storage will be assigned to
    worker threads, w/o changing policy.  Note that we could just use
    "default" policy in this case.  However, this also allows an
    application to request that pages be migrated, only if necessary,
    to follow any arbitrary policy that might currently apply to a
    range of pages, without knowing the policy, or without specifying
    multiple mbind()s for ranges with different policies.
    
    [ Bug in early version of mpol_parse_str() reported by Fengguang Wu. ]
    Bug-Reported-by: default avatarReported-by: Fengguang Wu <fengguang.wu@intel.com>
    Signed-off-by: default avatarLee Schermerhorn <lee.schermerhorn@hp.com>
    Reviewed-by: default avatarRik van Riel <riel@redhat.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
    d3a71033
mempolicy.c 66.6 KB