mm: Cleanup expected_page_refs()
Subsystems (2)
PATCH 1/1 mm: Cleanup expected_page_refs()
Andrea has noted that page migration code propagates page_mapping(page) through the whole migration stack down to migrate_page() function so it seems stupid to then use page_mapping(page) in expected_page_refs() instead of passed down 'mapping' argument. I agree so let's make expected_page_refs() more in line with the rest of the migration stack.
--- mm/migrate.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
mm/migrate.c +4 -4
@@ -374,7 +374,7 @@ void pmd_migration_entry_wait(struct mm_struct *mm, pmd_t *pmd) }#endif -static int expected_page_refs (struct page *page) +static int expected_page_refs (struct address_space *mapping,struct page *page) {int expected_count =1 ;
@@ -384,7 +384,7 @@ static int expected_page_refs(struct page *page)*/ expected_count +=is_device_private_page (page); expected_count +=is_device_public_page (page); -if (page_mapping (page)) +if (mapping) expected_count +=hpage_nr_pages (page) +page_has_private (page);return expected_count;
@@ -405,7 +405,7 @@ int migrate_page_move_mapping(struct address_space *mapping,XA_STATE (xas, &mapping->i_pages,page_index (page));struct zone *oldzone, *newzone;int dirty; -int expected_count =expected_page_refs (page) + extra_count; +int expected_count =expected_page_refs (mapping, page) + extra_count;if (!mapping) {/* Anonymous page without mapping */
@@ -750,7 +750,7 @@ static int __buffer_migrate_page(struct address_space *mapping,return migrate_page (mapping, newpage, page, mode);/* Check whether page does not have extra refs before we do more work */ - expected_count =expected_page_refs (page); + expected_count =expected_page_refs (mapping, page);if (page_count (page) != expected_count)return -EAGAIN ;
Signature · 1 line
2.16.4
Hello Jan,
Quoted 11 lines · Jan Kara
Andrea has noted that page migration code propagates
page_mapping(page)through the whole migration stack down tomigrate_page()function so it seems stupid to then usepage_mapping(page)inexpected_page_refs()instead of passed down 'mapping' argument. I agree so let's makeexpected_page_refs()more in line with the rest of the migration stack.Suggested-by Andrea Arcangeli <[email protected]>Signed-off-by Jan Kara <[email protected]>--- mm/migrate.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
Thanks,
Andrea