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