kernel/crash_core.c | 3 +++ 1 file changed, 3 insertions(+)
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.
Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com>
---
kernel/crash_core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/kernel/crash_core.c b/kernel/crash_core.c
index efe87d501c8c..9653c4177191 100644
--- a/kernel/crash_core.c
+++ b/kernel/crash_core.c
@@ -765,6 +765,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
On 11/27/23 at 10:07am, Huang Shijie wrote: > 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. > > Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com> > --- > kernel/crash_core.c | 3 +++ > 1 file changed, 3 insertions(+) Ack this one as it's needed by crash utility patches. Acked-by: Baoquan He <bhe@redhat.com> > > diff --git a/kernel/crash_core.c b/kernel/crash_core.c > index efe87d501c8c..9653c4177191 100644 > --- a/kernel/crash_core.c > +++ b/kernel/crash_core.c > @@ -765,6 +765,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 >
Hi Andrew, 在 2023/12/21 12:12, Baoquan He 写道: > On 11/27/23 at 10:07am, Huang Shijie wrote: >> 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. >> >> Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com> >> --- >> kernel/crash_core.c | 3 +++ >> 1 file changed, 3 insertions(+) > Ack this one as it's needed by crash utility patches. > > Acked-by: Baoquan He <bhe@redhat.com> Could you please merge this patch? Thanks Huang Shijie
Hi, On 11/27/23 at 10:07am, Huang Shijie wrote: > 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. Are there Crash or makedupfile patches posted yet to make use of this? > > Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com> > --- > kernel/crash_core.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/kernel/crash_core.c b/kernel/crash_core.c > index efe87d501c8c..9653c4177191 100644 > --- a/kernel/crash_core.c > +++ b/kernel/crash_core.c > @@ -765,6 +765,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 >
在 2023/11/27 10:51, Baoquan He 写道: > Hi, > > On 11/27/23 at 10:07am, Huang Shijie wrote: >> 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. > Are there Crash or makedupfile patches posted yet to make use of this? I have patches for Crash to use the 'vmemmap', but after this patch is merged, I will send it out. (I think Kazu will not merge a crash patch which depends on a kernel patch which is not merged.) Thanks Huang Shijie >> Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com> >> --- >> kernel/crash_core.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/kernel/crash_core.c b/kernel/crash_core.c >> index efe87d501c8c..9653c4177191 100644 >> --- a/kernel/crash_core.c >> +++ b/kernel/crash_core.c >> @@ -765,6 +765,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 >>
On 11/27/23 at 11:18am, Shijie Huang wrote: > > 在 2023/11/27 10:51, Baoquan He 写道: > > Hi, > > > > On 11/27/23 at 10:07am, Huang Shijie wrote: > > > 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. > > Are there Crash or makedupfile patches posted yet to make use of this? > > I have patches for Crash to use the 'vmemmap', but after this patch is > merged, I will send it out. > > (I think Kazu will not merge a crash patch which depends on a kernel patch > which is not merged.) Maybe post these userspace patches too so that Kazu can evaluat if those improvement is necessary?
在 2023/11/28 11:25, Baoquan He 写道: > On 11/27/23 at 11:18am, Shijie Huang wrote: >> 在 2023/11/27 10:51, Baoquan He 写道: >>> Hi, >>> >>> On 11/27/23 at 10:07am, Huang Shijie wrote: >>>> 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. >>> Are there Crash or makedupfile patches posted yet to make use of this? >> I have patches for Crash to use the 'vmemmap', but after this patch is >> merged, I will send it out. >> >> (I think Kazu will not merge a crash patch which depends on a kernel patch >> which is not merged.) > Maybe post these userspace patches too so that Kazu can evaluat if those > improvement is necessary? No problem. I will send out them later. Thanks Huang Shijie
On 11/28/23 at 11:31am, Shijie Huang wrote: > > 在 2023/11/28 11:25, Baoquan He 写道: > > On 11/27/23 at 11:18am, Shijie Huang wrote: > > > 在 2023/11/27 10:51, Baoquan He 写道: > > > > Hi, > > > > > > > > On 11/27/23 at 10:07am, Huang Shijie wrote: > > > > > 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. > > > > Are there Crash or makedupfile patches posted yet to make use of this? > > > I have patches for Crash to use the 'vmemmap', but after this patch is > > > merged, I will send it out. > > > > > > (I think Kazu will not merge a crash patch which depends on a kernel patch > > > which is not merged.) > > Maybe post these userspace patches too so that Kazu can evaluat if those > > improvement is necessary? > > No problem. I will send out them later. Thank, Shijie. Let's wait and see if Kazu has any comment about these.
Hi Baoquan, 在 2023/11/28 15:34, Baoquan He 写道: > On 11/28/23 at 11:31am, Shijie Huang wrote: >> 在 2023/11/28 11:25, Baoquan He 写道: >>> On 11/27/23 at 11:18am, Shijie Huang wrote: >>>> 在 2023/11/27 10:51, Baoquan He 写道: >>>>> Hi, >>>>> >>>>> On 11/27/23 at 10:07am, Huang Shijie wrote: >>>>>> 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. >>>>> Are there Crash or makedupfile patches posted yet to make use of this? >>>> I have patches for Crash to use the 'vmemmap', but after this patch is >>>> merged, I will send it out. >>>> >>>> (I think Kazu will not merge a crash patch which depends on a kernel patch >>>> which is not merged.) >>> Maybe post these userspace patches too so that Kazu can evaluat if those >>> improvement is necessary? >> No problem. I will send out them later. > Thank, Shijie. Let's wait and see if Kazu has any comment about these. Kazu is waiting for this patch to be merged now: https://lists.crash-utility.osci.io/archives/list/devel@lists.crash-utility.osci.io/thread/IJB54DIDWEJVCSCOLDYLC5NJ5AUIJZDP/ Thanks Huang Shijie >
© 2016 - 2025 Red Hat, Inc.