Message ID | b06c1515a4520f8d8259c991320a44c54c56edfa.1628174413.git.baolin.wang@linux.alibaba.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Some cleanup for page migration | expand |
On Thu, Aug 5, 2021 at 8:06 AM Baolin Wang <baolin.wang@linux.alibaba.com> wrote: > > Use thp_nr_pages() instead of compound_nr() to get the number of pages > for THP page, meanwhile introducing a local variable 'nr_pages' to > avoid getting the number of pages repeatedly. > > Signed-off-by: Baolin Wang <baolin.wang@linux.alibaba.com> Reviewed-by: Yang Shi <shy828301@gmail.com> > --- > mm/migrate.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/mm/migrate.c b/mm/migrate.c > index 5559571..eeba4c6 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -2106,6 +2106,7 @@ static struct page *alloc_misplaced_dst_page_thp(struct page *page, > static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) > { > int page_lru; > + int nr_pages = thp_nr_pages(page); > > VM_BUG_ON_PAGE(compound_order(page) && !PageTransHuge(page), page); > > @@ -2114,7 +2115,7 @@ static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) > return 0; > > /* Avoid migrating to a node that is nearly full */ > - if (!migrate_balanced_pgdat(pgdat, compound_nr(page))) > + if (!migrate_balanced_pgdat(pgdat, nr_pages)) > return 0; > > if (isolate_lru_page(page)) > @@ -2122,7 +2123,7 @@ static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) > > page_lru = page_is_file_lru(page); > mod_node_page_state(page_pgdat(page), NR_ISOLATED_ANON + page_lru, > - thp_nr_pages(page)); > + nr_pages); > > /* > * Isolating the page has taken another reference, so the > -- > 1.8.3.1 > >
diff --git a/mm/migrate.c b/mm/migrate.c index 5559571..eeba4c6 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -2106,6 +2106,7 @@ static struct page *alloc_misplaced_dst_page_thp(struct page *page, static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) { int page_lru; + int nr_pages = thp_nr_pages(page); VM_BUG_ON_PAGE(compound_order(page) && !PageTransHuge(page), page); @@ -2114,7 +2115,7 @@ static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) return 0; /* Avoid migrating to a node that is nearly full */ - if (!migrate_balanced_pgdat(pgdat, compound_nr(page))) + if (!migrate_balanced_pgdat(pgdat, nr_pages)) return 0; if (isolate_lru_page(page)) @@ -2122,7 +2123,7 @@ static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page) page_lru = page_is_file_lru(page); mod_node_page_state(page_pgdat(page), NR_ISOLATED_ANON + page_lru, - thp_nr_pages(page)); + nr_pages); /* * Isolating the page has taken another reference, so the
Use thp_nr_pages() instead of compound_nr() to get the number of pages for THP page, meanwhile introducing a local variable 'nr_pages' to avoid getting the number of pages repeatedly. Signed-off-by: Baolin Wang <baolin.wang@linux.alibaba.com> --- mm/migrate.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)