• L
    mempolicy: clean-up mpol-to-str() mempolicy formatting · 2291990a
    Lee Schermerhorn 提交于
    mpol-to-str() formats memory policies into printable strings.  Currently this
    is only used to display "numa_maps".  A subsequent patch will use
    mpol_to_str() for formatting tmpfs [shmem] mpol mount options, allowing us to
    remove essentially duplicate code in mm/shmem.c.  This patch cleans up
    mpol_to_str() generally and in preparation for that patch.
    
    1) show_numa_maps() is not checking the return code from mpol_to_str().
       There's not a lot we can do in this context if mpol_to_str() did return the
       error [insufficient space in buffer].  Proposed "solution": just check,
       under DEBUG_VM, that callers are providing sufficient buffer space for the
       policy, flags, and a few nodes.  This way, we'll get some display.
       show_numa_maps() is providing a 50-byte buffer, so it won't trip this
       check.  50-bytes should be sufficient unless one has a large number of
       nodes in a very sparse nodemask.
    
    2) The display of the new mode flags ["static" & "relative"] was set up to
       display multiple flags, separated by a "bar" '|'.  However, this support is
       incomplete--e.g., need_bar was never incremented; and currently, these two
       flags are mutually exclusive.  So remove the "bar" support, for now, and
       only display one flag.
    
    3) Use snprint() to format flags, so as not to overflow the buffer.  Not
       that it's ever happed, AFAIK.
    Signed-off-by: NLee 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: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    2291990a
mempolicy.c 55.3 KB