2023-11-27 02:08:17

by Huang Shijie

[permalink] [raw]
Subject: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled

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 <[email protected]>
---
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 02:51:59

by Baoquan He

[permalink] [raw]
Subject: Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled

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 <[email protected]>
> ---
> 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 03:19:06

by Shijie Huang

[permalink] [raw]
Subject: Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled


在 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 <[email protected]>
>> ---
>> 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-28 03:27:33

by Baoquan He

[permalink] [raw]
Subject: Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled

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 03:32:39

by Shijie Huang

[permalink] [raw]
Subject: Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled


在 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

2023-11-28 07:34:53

by Baoquan He

[permalink] [raw]
Subject: Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled

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.

2023-12-21 03:15:06

by Shijie Huang

[permalink] [raw]
Subject: Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled

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/[email protected]/thread/IJB54DIDWEJVCSCOLDYLC5NJ5AUIJZDP/


Thanks

Huang Shijie

>

2023-12-21 04:12:52

by Baoquan He

[permalink] [raw]
Subject: Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled

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 <[email protected]>
> ---
> 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 <[email protected]>

>
> 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
>


2024-01-17 01:39:44

by Shijie Huang

[permalink] [raw]
Subject: Re: [PATCH] crash_core: export vmemmap when CONFIG_SPARSEMEM_VMEMMAP is enabled

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 <[email protected]>
>> ---
>> 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 <[email protected]>

Could you please merge this patch?


Thanks

Huang Shijie