In memory_model.h, if CONFIG_SPARSEMEM_VMEMMAP is configed,
kernel will use vmemmap to do the __pfn_to_page/page_to_pfn,
and kernel will not use the "classic sparse" to do the
__pfn_to_page/page_to_pfn.
So export the vmemmap when CONFIG_SPARSEMEM_VMEMMAP is configed.
This makes the user applications (crash, etc) get faster
pfn_to_page/page_to_pfn operations too.
Acked-by: Baoquan He <[email protected]>
Signed-off-by: Huang Shijie <[email protected]>
---
v1 --> v2:
rebased to linux-next tree.
Resend : https://lkml.org/lkml/2024/2/26/98
The v1 : https://lkml.org/lkml/2023/11/26/342
---
kernel/vmcore_info.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/kernel/vmcore_info.c b/kernel/vmcore_info.c
index 8f77e238a54f..f95516cd45bb 100644
--- a/kernel/vmcore_info.c
+++ b/kernel/vmcore_info.c
@@ -152,6 +152,9 @@ static int __init crash_save_vmcoreinfo_init(void)
VMCOREINFO_SYMBOL(mem_map);
VMCOREINFO_SYMBOL(contig_page_data);
#endif
+#ifdef CONFIG_SPARSEMEM_VMEMMAP
+ VMCOREINFO_SYMBOL_ARRAY(vmemmap);
+#endif
#ifdef CONFIG_SPARSEMEM
VMCOREINFO_SYMBOL_ARRAY(mem_section);
VMCOREINFO_LENGTH(mem_section, NR_SECTION_ROOTS);
--
2.40.1