lkml.org 
[lkml]   [2021]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 06/10] mm/vmscan: add page demotion counter
    From
    Date

    From: Yang Shi <yang.shi@linux.alibaba.com>

    Account the number of demoted pages into reclaim_state->nr_demoted.

    Add pgdemote_kswapd and pgdemote_direct VM counters showed in
    /proc/vmstat.

    [ daveh:
    - __count_vm_events() a bit, and made them look at the THP
    size directly rather than getting data from migrate_pages()
    ]

    Signed-off-by: Yang Shi <yang.shi@linux.alibaba.com>
    Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
    Reviewed-by: Yang Shi <shy828301@gmail.com>
    Cc: Wei Xu <weixugc@google.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Huang Ying <ying.huang@intel.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: osalvador <osalvador@suse.de>

    --

    Changes since 202010:
    * remove unused scan-control 'demoted' field
    ---

    b/include/linux/vm_event_item.h | 2 ++
    b/mm/vmscan.c | 5 +++++
    b/mm/vmstat.c | 2 ++
    3 files changed, 9 insertions(+)

    diff -puN include/linux/vm_event_item.h~mm-vmscan-add-page-demotion-counter include/linux/vm_event_item.h
    --- a/include/linux/vm_event_item.h~mm-vmscan-add-page-demotion-counter 2021-03-31 15:17:17.079000248 -0700
    +++ b/include/linux/vm_event_item.h 2021-03-31 15:17:17.101000248 -0700
    @@ -33,6 +33,8 @@ enum vm_event_item { PGPGIN, PGPGOUT, PS
    PGREUSE,
    PGSTEAL_KSWAPD,
    PGSTEAL_DIRECT,
    + PGDEMOTE_KSWAPD,
    + PGDEMOTE_DIRECT,
    PGSCAN_KSWAPD,
    PGSCAN_DIRECT,
    PGSCAN_DIRECT_THROTTLE,
    diff -puN mm/vmscan.c~mm-vmscan-add-page-demotion-counter mm/vmscan.c
    --- a/mm/vmscan.c~mm-vmscan-add-page-demotion-counter 2021-03-31 15:17:17.081000248 -0700
    +++ b/mm/vmscan.c 2021-03-31 15:17:17.109000248 -0700
    @@ -1120,6 +1120,11 @@ static unsigned int demote_page_list(str
    target_nid, MIGRATE_ASYNC, MR_DEMOTION,
    &nr_succeeded);

    + if (current_is_kswapd())
    + __count_vm_events(PGDEMOTE_KSWAPD, nr_succeeded);
    + else
    + __count_vm_events(PGDEMOTE_DIRECT, nr_succeeded);
    +
    return nr_succeeded;
    }

    diff -puN mm/vmstat.c~mm-vmscan-add-page-demotion-counter mm/vmstat.c
    --- a/mm/vmstat.c~mm-vmscan-add-page-demotion-counter 2021-03-31 15:17:17.092000248 -0700
    +++ b/mm/vmstat.c 2021-03-31 15:17:17.116000248 -0700
    @@ -1259,6 +1259,8 @@ const char * const vmstat_text[] = {
    "pgreuse",
    "pgsteal_kswapd",
    "pgsteal_direct",
    + "pgdemote_kswapd",
    + "pgdemote_direct",
    "pgscan_kswapd",
    "pgscan_direct",
    "pgscan_direct_throttle",
    _
    \
     
     \ /
      Last update: 2021-04-01 20:56    [W:4.070 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site