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

From: David Hildenbrand
Date: Mon Mar 28 2022 - 08:34:03 EST


On 26.03.22 07:46, Wupeng Ma wrote:
> From: Ma Wupeng <mawupeng1@xxxxxxxxxx>
>
> Pervious 0x100000 is used to check the 4G limit in

s/Pervious/Previous/

> 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.

s/replate/replace/

>
> 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 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)) {

PHYS_PFN(SZ_4G)

?

> mem_below_4gb_not_mirrored = true;
> continue;
> }


--
Thanks,

David / dhildenb