[PATCH 7/9] mm: Calc the right pfn if page size is not 4K

Wupeng Ma mawupeng1 at huawei.com
Fri Mar 25 23:46:30 PDT 2022


From: Ma Wupeng <mawupeng1 at huawei.com>

Pervious 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 replate it with SIZE_4G >> PAGE_SHIFT.

Signed-off-by: Ma Wupeng <mawupeng1 at huawei.com>
---
 mm/page_alloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 6e0b4596cde9..41fd987b5b93 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -7811,7 +7811,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 < (SZ_4G >> PAGE_SHIFT)) {
 				mem_below_4gb_not_mirrored = true;
 				continue;
 			}
-- 
2.18.0.huawei.25




More information about the linux-arm-kernel mailing list