aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFengguang Wu <fengguang.wu@intel.com>2019-04-24 11:05:07 +0800
committerFengguang Wu <fengguang.wu@intel.com>2019-04-24 11:05:07 +0800
commit33f73d656ecd9bb954edca01232c60e8b44b626d (patch)
tree57adb3e6e9cefcd8637cad9bc3b1fa3e3b4a2e7c
parent085b7755808aa11f78ab9377257e1dad2e6fa4bb (diff)
downloadlinux-page-cache-migrate.tar.gz
vmstat: introduce nr_accessedpage-cache-migrate
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
-rw-r--r--include/linux/mmzone.h1
-rw-r--r--mm/swap.c2
-rw-r--r--mm/vmstat.c1
3 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index fba7741533bec..7eabcf7e2eed9 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -182,6 +182,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_ACCESSED,
NR_KERNEL_MISC_RECLAIMABLE, /* reclaimable non-slab kernel pages */
NR_VM_NODE_STAT_ITEMS
};
diff --git a/mm/swap.c b/mm/swap.c
index 301ed4e043205..1ec6daec6e179 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -371,6 +371,8 @@ static void __lru_cache_activate_page(struct page *page)
void mark_page_accessed(struct page *page)
{
page = compound_head(page);
+ inc_node_page_state(page, NR_ACCESSED);
+
if (!PageActive(page) && !PageUnevictable(page) &&
PageReferenced(page)) {
diff --git a/mm/vmstat.c b/mm/vmstat.c
index a7d493366a65b..d9efdb8bff6a9 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1163,6 +1163,7 @@ const char * const vmstat_text[] = {
"nr_vmscan_immediate_reclaim",
"nr_dirtied",
"nr_written",
+ "nr_accessed",
"nr_kernel_misc_reclaimable",
/* enum writeback_stat_item counters */