lkml.org 
[lkml]   [2018]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 080/109] mm: introduce NR_INDIRECTLY_RECLAIMABLE_BYTES
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Roman Gushchin <guro@fb.com>

    commit eb59254608bc1d42c4c6afdcdce9c0d3ce02b318 upstream.

    Patch series "indirectly reclaimable memory", v2.

    This patchset introduces the concept of indirectly reclaimable memory
    and applies it to fix the issue of when a big number of dentries with
    external names can significantly affect the MemAvailable value.

    This patch (of 3):

    Introduce a concept of indirectly reclaimable memory and adds the
    corresponding memory counter and /proc/vmstat item.

    Indirectly reclaimable memory is any sort of memory, used by the kernel
    (except of reclaimable slabs), which is actually reclaimable, i.e. will
    be released under memory pressure.

    The counter is in bytes, as it's not always possible to count such
    objects in pages. The name contains BYTES by analogy to
    NR_KERNEL_STACK_KB.

    Link: http://lkml.kernel.org/r/20180305133743.12746-2-guro@fb.com
    Signed-off-by: Roman Gushchin <guro@fb.com>
    Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Mel Gorman <mgorman@techsingularity.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    include/linux/mmzone.h | 1 +
    mm/vmstat.c | 1 +
    2 files changed, 2 insertions(+)

    --- a/include/linux/mmzone.h
    +++ b/include/linux/mmzone.h
    @@ -180,6 +180,7 @@ enum node_stat_item {
    NR_VMSCAN_IMMEDIATE, /* Prioritise for reclaim when writeback ends */
    NR_DIRTIED, /* page dirtyings since bootup */
    NR_WRITTEN, /* page writings since bootup */
    + NR_INDIRECTLY_RECLAIMABLE_BYTES, /* measured in bytes */
    NR_VM_NODE_STAT_ITEMS
    };

    --- a/mm/vmstat.c
    +++ b/mm/vmstat.c
    @@ -1090,6 +1090,7 @@ const char * const vmstat_text[] = {
    "nr_vmscan_immediate_reclaim",
    "nr_dirtied",
    "nr_written",
    + "nr_indirectly_reclaimable",

    /* enum writeback_stat_item counters */
    "nr_dirty_threshold",

    \
     
     \ /
      Last update: 2018-10-16 19:33    [W:6.408 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site