Skip to content

Commit

Permalink
mm/page_alloc.c: calc the right pfn if page size is not 4K
Browse files Browse the repository at this point in the history
Previous 0x100000 is used to check the 4G limit in
find_zone_movable_pfns_for_nodes().  This is right in x86 because the page
size can only be 4K.  But 16K and 64K are available in arm64.  So replace
it with PHYS_PFN(SZ_4G).

Link: https://lkml.kernel.org/r/20220414101314.1250667-8-mawupeng1@huawei.com
Signed-off-by: Ma Wupeng <mawupeng1@huawei.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
  • Loading branch information
Ma Wupeng authored and akpm committed Apr 29, 2022
1 parent 3c9fe8b commit aa282a1
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion mm/page_alloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -7821,7 +7821,7 @@ static void __init find_zone_movable_pfns_for_nodes(void)

usable_startpfn = memblock_region_memory_base_pfn(r);

if (usable_startpfn < 0x100000) {
if (usable_startpfn < PHYS_PFN(SZ_4G)) {
mem_below_4gb_not_mirrored = true;
continue;
}
Expand Down

0 comments on commit aa282a1

Please sign in to comment.