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

HAGIO KAZUHITO(萩尾 一仁) k-hagio-ab at nec.com
Mon Apr 19 08:15:55 UTC 2021


-----Original Message-----
> 在 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>

Thanks, applied:
https://github.com/crash-utility/crash/commit/dccdf95c25234e3573a7a0744430e922146ee362

Kazu

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