• Miles Chen's avatar
    arm64: setup min_low_pfn · 19d6242e
    Miles Chen authored
    When debugging with CONFIG_PAGE_OWNER, I noticed that the min_low_pfn
    on arm64 is always zero and the page owner scanning has to start from zero.
    We have to loop a while before we see the first valid pfn.
    (see: read_page_owner())
    
    Setup min_low_pfn to save some loops.
    
    Before setting min_low_pfn:
    
    [   21.265602] min_low_pfn=0, *ppos=0
    Page allocated via order 0, mask 0x100cca(GFP_HIGHUSER_MOVABLE)
    PFN 262144 type Movable Block 512 type Movable Flags 0x8001e
    referenced|uptodate|dirty|lru|swapbacked)
    prep_new_page+0x13c/0x140
    get_page_from_freelist+0x254/0x1068
    __alloc_pages_nodemask+0xd4/0xcb8
    
    After setting min_low_pfn:
    
    [   11.025787] min_low_pfn=262144, *ppos=0
    Page allocated via order 0, mask 0x100cca(GFP_HIGHUSER_MOVABLE)
    PFN 262144 type Movable Block 512 type Movable Flags 0x8001e
    referenced|uptodate|dirty|lru|swapbacked)
    prep_new_page+0x13c/0x140
    get_page_from_freelist+0x254/0x1068
    __alloc_pages_nodemask+0xd4/0xcb8
    shmem_alloc_page+0x7c/0xa0
    shmem_alloc_and_acct_page+0x124/0x1e8
    shmem_getpage_gfp.isra.7+0x118/0x878
    shmem_write_begin+0x38/0x68
    Signed-off-by: default avatarMiles Chen <miles.chen@mediatek.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    19d6242e
init.c 16.5 KB