[Crash-utility] [PATCH] arm64: handle 1GB block

lijiang lijiang at redhat.com
Mon Apr 19 02:51:53 UTC 2021


在 2021年04月16日 17:25, Johan.Erlandsson at sony.com 写道:
> Hi Lianbo
> 
>>>
>>> With enough continuous physical memory we can have 1GB block. This have
>>> been seen only in linear mapping region in kernel space. I have only
>>> verified this for VM_L3_4K.
>>>
>>> reference: alloc_init_pud(), use_1G_block() [arch/arm64/mm/mmu.c]
>>>
>> For this situation, do you know how to reproduce it easily? Can you share
>> your steps in detail?
> 
> I can try, one requirement is that you have memory aligned at 1 GB and 
> size is at least 1 GB. Lets assume we have vmcore with physical memory
> at 0x100000000 (1 GB aligned) with size at least 1 GB. Then from crash we
> could do:
> 
Thank you for the explanation, Johan.

I will try to reproduce it later, but anyway, this patch and test are good to me.

Acked-by: Lianbo Jiang <lijiang at redhat.com>

> crash> ptov 100000000
> VIRTUAL           PHYSICAL        
> ffffffe900000000  100000000       
> 
> crash> vtop ffffffe900000000
> VIRTUAL           PHYSICAL        
> ffffffe900000000  100000000       
> 
> PAGE DIRECTORY: ffffff990f66c000
>    PGD: ffffff990f66cd20 => 68000100000711
>   PAGE: 100000000  (1GB)
> 
>      PTE        PHYSICAL   FLAGS
> 68000100000711  100000000  (VALID|SHARED|AF|PXN|UXN)
> 
>       PAGE               PHYSICAL      MAPPING       INDEX CNT FLAGS
> ffffffbfa4000000        100000000 ffffffe97de59090       fe  2 20054 uptodate,lru,workingset,mappedtodisk
> 
> I hope that helps.
> Yes, it certainly helps.

Thanks
Lianbo

> Regards
> Johan
> 
>> BTW: I did the test, but I didn't enter into the kernel code path because
>> that condition was not met.
>>
>> # dmesg|grep -i huge
>> [    0.000000] Kernel command line: BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.12.0-rc7+ root=/dev/mapper/rhel_gigabyte--r120--20-root ro arm->smmu.disable_bypass=n initcall_blacklist=gtdt_sbsa_gwdt_init iommu.passthrough=1 crashkernel=512M hugepagesz=1G hugepages=6 >debug_pagealloc=on rd.lvm.lv=rhel_gigabyte-r120-20/root rd.lvm.lv=rhel_gigabyte-r120-20/swap
>> [    2.620634] HugeTLB registered 1.00 GiB page size, pre-allocated 6 pages
>>
>> Thanks.
>> Lianbo
> 
> 
> 




More information about the Crash-utility mailing list