From: Zi Yan Date: Wed, 24 Jul 2024 13:01:15 +0000 (-0400) Subject: memory tiering: count PGPROMOTE_SUCCESS when mem tiering is enabled. X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=d4768aa929809bf8ac4bf252abfddfe044134743;p=users%2Fjedix%2Flinux-maple.git memory tiering: count PGPROMOTE_SUCCESS when mem tiering is enabled. memory tiering can be enabled/disabled at runtime and sysctl_numa_balancing_mode & NUMA_BALANCING_MEMORY_TIERING is used to check it. In migrate_misplaced_folio(), the check is missing when PGPROMOTE_SUCCESS is incremented. Add the missing check. Link: https://lkml.kernel.org/r/20240724130115.793641-4-ziy@nvidia.com Fixes: 33024536bafd ("memory tiering: hot page selection with hint page fault latency") Reported-by: Kefeng Wang Closes: https://lore.kernel.org/linux-mm/f4ae2c9c-fe40-4807-bdb2-64cf2d716c1a@huawei.com/ Signed-off-by: Zi Yan Acked-by: David Hildenbrand Reviewed-by: Kefeng Wang Cc: Baolin Wang Cc: "Huang, Ying" Cc: Lorenzo Stoakes Signed-off-by: Andrew Morton --- diff --git a/mm/migrate.c b/mm/migrate.c index 923ea80ba7442..8578a930cad1e 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -2636,7 +2636,9 @@ int migrate_misplaced_folio(struct folio *folio, struct vm_area_struct *vma, putback_movable_pages(&migratepages); if (nr_succeeded) { count_vm_numa_events(NUMA_PAGE_MIGRATE, nr_succeeded); - if (!node_is_toptier(folio_nid(folio)) && node_is_toptier(node)) + if ((sysctl_numa_balancing_mode & NUMA_BALANCING_MEMORY_TIERING) + && !node_is_toptier(folio_nid(folio)) + && node_is_toptier(node)) mod_node_page_state(pgdat, PGPROMOTE_SUCCESS, nr_succeeded); }