lkml.org 
[lkml]   [2020]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v6 1/6] mm/vmscan: make active/inactive ratio as 1:1 for anon lru
    Date
    From: Joonsoo Kim <iamjoonsoo.kim@lge.com>

    Current implementation of LRU management for anonymous page has some
    problems. Most important one is that it doesn't protect the workingset,
    that is, pages on the active LRU list. Although, this problem will be
    fixed in the following patchset, the preparation is required and
    this patch does it.

    What following patchset does is to restore workingset protection. In this
    case, newly created or swap-in pages are started their lifetime on the
    inactive list. If inactive list is too small, there is not enough chance
    to be referenced and the page cannot become the workingset.

    In order to provide enough chance to the newly anonymous pages, this patch
    makes active/inactive LRU ratio as 1:1.

    Acked-by: Johannes Weiner <hannes@cmpxchg.org>
    Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
    ---
    mm/vmscan.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/mm/vmscan.c b/mm/vmscan.c
    index 749d239..9f940c4 100644
    --- a/mm/vmscan.c
    +++ b/mm/vmscan.c
    @@ -2212,7 +2212,7 @@ static bool inactive_is_low(struct lruvec *lruvec, enum lru_list inactive_lru)
    active = lruvec_page_state(lruvec, NR_LRU_BASE + active_lru);

    gb = (inactive + active) >> (30 - PAGE_SHIFT);
    - if (gb)
    + if (gb && is_file_lru(inactive_lru))
    inactive_ratio = int_sqrt(10 * gb);
    else
    inactive_ratio = 1;
    --
    2.7.4
    \
     
     \ /
      Last update: 2020-06-17 07:27    [W:3.135 / U:0.208 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site