From 2acc85af94d866adbc37a140544cadee3df09027 Mon Sep 17 00:00:00 2001 From: Yu Zhao Date: Thu, 23 Jul 2020 14:01:45 -0600 Subject: [PATCH] BACKPORT: mm: use self-explanatory macros rather than "2" Backport upstream change for Multi generation LRU feature Moto-CRs-Fixed:(CR) Signed-off-by: Yu Zhao Signed-off-by: Andrew Morton Cc: Alex Shi Link: http://lkml.kernel.org/r/20200831175042.3527153-2-yuzhao@google.com Signed-off-by: Linus Torvalds (cherry picked from commit ed0173733dd468883198c3136284394320b8fad6) Bug: 228114874 Change-Id: Ifbc0e8976a29d914ade5a84a8a1fff069cb2d3bb Reviewed-on: https://gerrit.mot.com/2268686 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Xiangpo Zhao Submit-Approved: Jira Key --- include/linux/mmzone.h | 13 +++++++------ mm/memcontrol.c | 4 ++-- mm/vmscan.c | 4 +--- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index d24748b61e8e..80b563e34918 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -232,6 +232,7 @@ static inline int is_active_lru(enum lru_list lru) { return (lru == LRU_ACTIVE_ANON || lru == LRU_ACTIVE_FILE); } +#define ANON_AND_FILE 2 struct zone_reclaim_stat { /* @@ -239,11 +240,9 @@ struct zone_reclaim_stat { * mem/swap backed and file backed pages are referenced. * The higher the rotated/scanned ratio, the more valuable * that cache is. - * - * The anon LRU stats live in [0], file LRU stats in [1] */ - unsigned long recent_rotated[2]; - unsigned long recent_scanned[2]; + unsigned long recent_rotated[ANON_AND_FILE]; + unsigned long recent_scanned[ANON_AND_FILE]; }; struct lruvec { @@ -370,6 +369,8 @@ enum zone_type { #ifndef __GENERATING_BOUNDS_H +#define ASYNC_AND_SYNC 2 + struct zone { /* Read-mostly fields */ @@ -499,8 +500,8 @@ struct zone { #if defined CONFIG_COMPACTION || defined CONFIG_CMA /* pfn where compaction free scanner should start */ unsigned long compact_cached_free_pfn; - /* pfn where async and sync compaction migration scanner should start */ - unsigned long compact_cached_migrate_pfn[2]; + /* pfn where compaction migration scanner should start */ + unsigned long compact_cached_migrate_pfn[ASYNC_AND_SYNC]; unsigned long compact_init_migrate_pfn; unsigned long compact_init_free_pfn; #endif diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 87cd5bf1b487..ea06598f4d09 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -3516,8 +3516,8 @@ static int memcg_stat_show(struct seq_file *m, void *v) pg_data_t *pgdat; struct mem_cgroup_per_node *mz; struct zone_reclaim_stat *rstat; - unsigned long recent_rotated[2] = {0, 0}; - unsigned long recent_scanned[2] = {0, 0}; + unsigned long recent_rotated[ANON_AND_FILE] = {}; + unsigned long recent_scanned[ANON_AND_FILE] = {}; for_each_online_pgdat(pgdat) { mz = mem_cgroup_nodeinfo(memcg, pgdat->node_id); diff --git a/mm/vmscan.c b/mm/vmscan.c index 14e3079bb008..3dbbc2041096 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -2346,7 +2346,7 @@ static void get_scan_count(struct lruvec *lruvec, struct mem_cgroup *memcg, { int swappiness = mem_cgroup_swappiness(memcg); struct zone_reclaim_stat *reclaim_stat = &lruvec->reclaim_stat; - u64 fraction[2]; + u64 fraction[ANON_AND_FILE]; u64 denominator = 0; /* gcc */ struct pglist_data *pgdat = lruvec_pgdat(lruvec); unsigned long anon_prio, file_prio; @@ -2458,8 +2458,6 @@ static void get_scan_count(struct lruvec *lruvec, struct mem_cgroup *memcg, * Because workloads change over time (and to avoid overflow) * we keep these statistics as a floating average, which ends * up weighing recent references more than old ones. - * - * anon in [0], file in [1] */ anon = lruvec_lru_size(lruvec, LRU_ACTIVE_ANON, MAX_NR_ZONES) +