Message ID | 20240724130115.793641-4-ziy@nvidia.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Various memory tiering fixes | expand |
On 24.07.24 15:01, Zi Yan wrote: > 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. > > Reported-by: Kefeng Wang <wangkefeng.wang@huawei.com> > Closes: https://lore.kernel.org/linux-mm/f4ae2c9c-fe40-4807-bdb2-64cf2d716c1a@huawei.com/ > Fixes: 33024536bafd ("memory tiering: hot page selection with hint page fault latency") > Signed-off-by: Zi Yan <ziy@nvidia.com> > --- > mm/migrate.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/mm/migrate.c b/mm/migrate.c > index e7296c0fb5d5..826afb82ca56 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -2630,7 +2630,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); > } Acked-by: David Hildenbrand <david@redhat.com>
On 2024/7/24 21:01, Zi Yan wrote: > 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. > > Reported-by: Kefeng Wang <wangkefeng.wang@huawei.com> > Closes: https://lore.kernel.org/linux-mm/f4ae2c9c-fe40-4807-bdb2-64cf2d716c1a@huawei.com/ > Fixes: 33024536bafd ("memory tiering: hot page selection with hint page fault latency") > Signed-off-by: Zi Yan <ziy@nvidia.com> Reviewed-by: Kefeng Wang <wangkefeng.wang@huawei.com> > --- > mm/migrate.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/mm/migrate.c b/mm/migrate.c > index e7296c0fb5d5..826afb82ca56 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -2630,7 +2630,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); > }
diff --git a/mm/migrate.c b/mm/migrate.c index e7296c0fb5d5..826afb82ca56 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -2630,7 +2630,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); }
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. Reported-by: Kefeng Wang <wangkefeng.wang@huawei.com> Closes: https://lore.kernel.org/linux-mm/f4ae2c9c-fe40-4807-bdb2-64cf2d716c1a@huawei.com/ Fixes: 33024536bafd ("memory tiering: hot page selection with hint page fault latency") Signed-off-by: Zi Yan <ziy@nvidia.com> --- mm/migrate.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)