[PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled

Huang Shijie posted 1 patch 2 years ago
There is a newer version of this series
kernel/crash_core.c | 3 +++
1 file changed, 3 insertions(+)
[PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled
Posted by Huang Shijie 2 years ago
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
Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled
Posted by Baoquan He 1 year, 12 months ago
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
>
Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled
Posted by Shijie Huang 1 year, 11 months ago
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

Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled
Posted by Baoquan He 2 years ago
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
>
Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled
Posted by Shijie Huang 2 years ago
在 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
>>
Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled
Posted by Baoquan He 2 years ago
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?

Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled
Posted by Shijie Huang 2 years ago
在 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

Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled
Posted by Baoquan He 2 years ago
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.

Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled
Posted by Shijie Huang 1 year, 12 months ago
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

>