summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOscar Salvador <osalvador@suse.de>2021-05-05 03:35:33 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2021-05-05 20:27:22 +0200
commiteb14d4eefdc4f0051a63973124f431798e16a8b2 (patch)
tree882020053ee16096f10ee0655c116cb89ea84558
parentmm: make alloc_contig_range handle in-use hugetlb pages (diff)
downloadlinux-eb14d4eefdc4f0051a63973124f431798e16a8b2.tar.xz
linux-eb14d4eefdc4f0051a63973124f431798e16a8b2.zip
mm,page_alloc: drop unnecessary checks from pfn_range_valid_contig
pfn_range_valid_contig() bails out when it finds an in-use page or a hugetlb page, among other things. We can drop the in-use page check since __alloc_contig_pages can migrate away those pages, and the hugetlb page check can go too since isolate_migratepages_range is now capable of dealing with hugetlb pages. Either way, those checks are racy so let the end function handle it when the time comes. Link: https://lkml.kernel.org/r/20210419075413.1064-8-osalvador@suse.de Signed-off-by: Oscar Salvador <osalvador@suse.de> Suggested-by: David Hildenbrand <david@redhat.com> Reviewed-by: David Hildenbrand <david@redhat.com> Acked-by: Mike Kravetz <mike.kravetz@oracle.com> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Muchun Song <songmuchun@bytedance.com> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--mm/page_alloc.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 656f86a98554..80fa6e0f9ed9 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -8898,12 +8898,6 @@ static bool pfn_range_valid_contig(struct zone *z, unsigned long start_pfn,
if (PageReserved(page))
return false;
-
- if (page_count(page) > 0)
- return false;
-
- if (PageHuge(page))
- return false;
}
return true;
}