Message ID | 20210721063926.3024591-5-ying.huang@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [-V11,1/9] mm/numa: automatically generate node migration order | expand |
On 21 Jul 2021, at 2:39, Huang Ying wrote: > From: Yang Shi <yang.shi@linux.alibaba.com> > > Account the number of demoted pages. > > 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() > ] > > Link: https://lkml.kernel.org/r/20210715055145.195411-6-ying.huang@intel.com > Signed-off-by: Yang Shi <yang.shi@linux.alibaba.com> > Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> > Signed-off-by: "Huang, Ying" <ying.huang@intel.com> > Reviewed-by: Yang Shi <shy828301@gmail.com> > Reviewed-by: Wei Xu <weixugc@google.com> > Cc: Michal Hocko <mhocko@suse.com> > Cc: Zi Yan <ziy@nvidia.com> > Cc: David Rientjes <rientjes@google.com> > Cc: Dan Williams <dan.j.williams@intel.com> > Cc: David Hildenbrand <david@redhat.com> > Cc: Oscar Salvador <osalvador@suse.de> > Cc: Greg Thelen <gthelen@google.com> > Cc: Keith Busch <kbusch@kernel.org> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org> > --- > include/linux/vm_event_item.h | 2 ++ > mm/vmscan.c | 5 +++++ > mm/vmstat.c | 2 ++ > 3 files changed, 9 insertions(+) > LGTM. Reviewed-by: Zi Yan <ziy@nvidia.com> — Best Regards, Yan, Zi
diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h index ae0dd1948c2b..a185cc75ff52 100644 --- a/include/linux/vm_event_item.h +++ b/include/linux/vm_event_item.h @@ -33,6 +33,8 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, PGREUSE, PGSTEAL_KSWAPD, PGSTEAL_DIRECT, + PGDEMOTE_KSWAPD, + PGDEMOTE_DIRECT, PGSCAN_KSWAPD, PGSCAN_DIRECT, PGSCAN_DIRECT_THROTTLE, diff --git a/mm/vmscan.c b/mm/vmscan.c index 49d03b5e3c18..90fa026cfa29 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1322,6 +1322,11 @@ static unsigned int demote_page_list(struct list_head *demote_pages, 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 --git a/mm/vmstat.c b/mm/vmstat.c index 6246bab9fae2..13ff25d0d96a 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -1217,6 +1217,8 @@ const char * const vmstat_text[] = { "pgreuse", "pgsteal_kswapd", "pgsteal_direct", + "pgdemote_kswapd", + "pgdemote_direct", "pgscan_kswapd", "pgscan_direct", "pgscan_direct_throttle",