diff options
author | Oscar Salvador <osalvador@suse.de> | 2021-05-05 03:35:33 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2021-05-05 20:27:22 +0200 |
commit | eb14d4eefdc4f0051a63973124f431798e16a8b2 (patch) | |
tree | 882020053ee16096f10ee0655c116cb89ea84558 | |
parent | mm: make alloc_contig_range handle in-use hugetlb pages (diff) | |
download | linux-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.c | 6 |
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; } |