diff options
author | Oscar Salvador <osalvador@suse.de> | 2021-05-04 18:35:33 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2021-05-05 11:27:22 -0700 |
commit | eb14d4eefdc4f0051a63973124f431798e16a8b2 (patch) | |
tree | 882020053ee16096f10ee0655c116cb89ea84558 /mm/page_alloc.c | |
parent | ae37c7ff79f1f030e28ec76c46ee032f8fd07607 (diff) | |
download | linux-eb14d4eefdc4f0051a63973124f431798e16a8b2.tar.gz linux-eb14d4eefdc4f0051a63973124f431798e16a8b2.tar.bz2 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>
Diffstat (limited to 'mm/page_alloc.c')
-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; } |