lkml.org 
[lkml]   [2012]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 11/31] mm/mpol: Make MPOL_LOCAL a real policy
    Make MPOL_LOCAL a real and exposed policy such that applications that
    relied on the previous default behaviour can explicitly request it.

    Requested-by: Christoph Lameter <cl@linux.com>
    Reviewed-by: Rik van Riel <riel@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    ---
    include/uapi/linux/mempolicy.h | 1 +
    mm/mempolicy.c | 9 ++++++---
    2 files changed, 7 insertions(+), 3 deletions(-)

    Index: tip/include/uapi/linux/mempolicy.h
    ===================================================================
    --- tip.orig/include/uapi/linux/mempolicy.h
    +++ tip/include/uapi/linux/mempolicy.h
    @@ -20,6 +20,7 @@ enum {
    MPOL_PREFERRED,
    MPOL_BIND,
    MPOL_INTERLEAVE,
    + MPOL_LOCAL,
    MPOL_MAX, /* always last member of enum */
    };

    Index: tip/mm/mempolicy.c
    ===================================================================
    --- tip.orig/mm/mempolicy.c
    +++ tip/mm/mempolicy.c
    @@ -269,6 +269,10 @@ static struct mempolicy *mpol_new(unsign
    (flags & MPOL_F_RELATIVE_NODES)))
    return ERR_PTR(-EINVAL);
    }
    + } else if (mode == MPOL_LOCAL) {
    + if (!nodes_empty(*nodes))
    + return ERR_PTR(-EINVAL);
    + mode = MPOL_PREFERRED;
    } else if (nodes_empty(*nodes))
    return ERR_PTR(-EINVAL);
    policy = kmem_cache_alloc(policy_cache, GFP_KERNEL);
    @@ -2371,7 +2375,6 @@ void numa_default_policy(void)
    * "local" is pseudo-policy: MPOL_PREFERRED with MPOL_F_LOCAL flag
    * Used only for mpol_parse_str() and mpol_to_str()
    */
    -#define MPOL_LOCAL MPOL_MAX
    static const char * const policy_modes[] =
    {
    [MPOL_DEFAULT] = "default",
    @@ -2424,12 +2427,12 @@ int mpol_parse_str(char *str, struct mem
    if (flags)
    *flags++ = '\0'; /* terminate mode string */

    - for (mode = 0; mode <= MPOL_LOCAL; mode++) {
    + for (mode = 0; mode < MPOL_MAX; mode++) {
    if (!strcmp(str, policy_modes[mode])) {
    break;
    }
    }
    - if (mode > MPOL_LOCAL)
    + if (mode >= MPOL_MAX)
    goto out;

    switch (mode) {



    \
     
     \ /
      Last update: 2012-10-25 16:01    [W:5.400 / U:0.268 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site