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@xxxxxxxxxxxxxxxxxxxxxx>
---
v3 --> v4:
Use "files -p" to measure the time.
Dump it in "help -m"
Acked-by: Kazuhito Hagio <k-hagio-ab@xxxxxxx>
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
--
Crash-utility mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxxxxxx
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki