Hi Kazu,
在 2023/12/21 10:56, HAGIO KAZUHITO(萩尾 一仁) 写道:
On 2023/12/19 0:01, Huang Shijie wrote:
> If the kernel exports the vmmemap then we can use that symbol in
> crash to optimize access. vmmemap is just an array of page structs
> after all.
>
> This patch tries to:
> 1.) Get the "vmemmap" from the vmcore file.
> If we can use the "vmemmap", we implement the
arm64_vmemmap_is_page_ptr
> and set it to machdep->is_page_ptr.
> 2.) We implement the fast page_to_pfn code in arm64_vmemmap_is_page_ptr.
> 3.) Dump it in "help -m"
>
> Test result:
> Without the this patch:
> #files -p xxx > /dev/null (xxx is the inode of vmlinux which is 441M)
> This costed about 185 seconds.
>
> With the this patch:
> #files -p xxx > /dev/null (xxx is the inode of vmlinux which is 441M)
> This costed 3 seconds.
>
> Signed-off-by: Huang Shijie <shijie(a)os.amperecomputing.com>
> ---
> v3 --> v4:
> Use "files -p" to measure the time.
> Dump it in "help -m"
Acked-by: Kazuhito Hagio <k-hagio-ab(a)nec.com>
Applied the 1/2 first,
https://github.com/crash-utility/crash/commit/19d3c56c9fca
and will apply this when a corresponding kernel patch gets applied.
The corresponding kernel patch has been merged:
https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/crash_core-export-vmemmap-when-config_sparsemem_vmemmap-is-enabled.patch
Could you please merge this one for crash?
Thanks
Huang Shijie