On 4/14/22 15:43, Wupeng Ma wrote: > From: Ma Wupeng <mawupeng1@xxxxxxxxxx> > > 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). > > Signed-off-by: Ma Wupeng <mawupeng1@xxxxxxxxxx> > --- > 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 6e5b4488a0c5..570d0ebf98df 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -7870,7 +7870,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; > } Regardless PFN value should never be encoded directly. Reviewed-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>