linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* RE: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP
       [not found] <20200708015555.14946-1-liwei213@huawei.com>
@ 2020-07-08  7:18 ` Song Bao Hua (Barry Song)
  2020-07-08  7:51   ` 答复: " liwei (CM)
  0 siblings, 1 reply; 9+ messages in thread
From: Song Bao Hua (Barry Song) @ 2020-07-08  7:18 UTC (permalink / raw)
  To: liwei (CM), catalin.marinas, will
  Cc: fengbaopeng, nsaenzjulienne, steve.capper, rppt,
	linux-arm-kernel, linux-kernel, sujunfei



> -----Original Message-----
> From: liwei (CM)
> Sent: Wednesday, July 8, 2020 1:56 PM
> To: catalin.marinas@arm.com; will@kernel.org
> Cc: liwei (CM) <liwei213@huawei.com>; fengbaopeng
> <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de;
> steve.capper@arm.com; rppt@linux.ibm.com; Song Bao Hua (Barry Song)
> <song.bao.hua@hisilicon.com>; linux-arm-kernel@lists.infradead.org;
> linux-kernel@vger.kernel.org; sujunfei <sujunfei2@hisilicon.com>
> Subject: [PATCH] arm64: mm: free unused memmap for sparse memory model
> that define VMEMMAP
> 
> For the memory hole, sparse memory model that define
> SPARSEMEM_VMEMMAP do not free the reserved memory for the page map,
> this patch do it.

Hello Wei,
Just curious if this patch breaks MEMORY_HOTPLUG?

> 
> Signed-off-by: Wei Li <liwei213@huawei.com>
> Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
> Signed-off-by: Xia Qing <saberlily.xia@hisilicon.com>
> ---
>  arch/arm64/mm/init.c | 81
> +++++++++++++++++++++++++++++++++++++++++++++-------
>  1 file changed, 71 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index
> 1e93cfc7c47a..d1b56b47d5ba 100644
> --- a/arch/arm64/mm/init.c
> +++ b/arch/arm64/mm/init.c
> @@ -441,7 +441,48 @@ void __init bootmem_init(void)
>  	memblock_dump_all();
>  }
> 

Thanks
Barry


^ permalink raw reply	[flat|nested] 9+ messages in thread

* 答复: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP
  2020-07-08  7:18 ` [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP Song Bao Hua (Barry Song)
@ 2020-07-08  7:51   ` liwei (CM)
  2020-07-09 12:27     ` Song Bao Hua (Barry Song)
  0 siblings, 1 reply; 9+ messages in thread
From: liwei (CM) @ 2020-07-08  7:51 UTC (permalink / raw)
  To: Song Bao Hua (Barry Song), catalin.marinas, will
  Cc: fengbaopeng, nsaenzjulienne, steve.capper, rppt,
	linux-arm-kernel, linux-kernel, sujunfei, Xiaqing (A),
	Yaobaofeng (Yaobaofeng)

Hi, baohua

Thank you for your attention.

In my understanding of the MEMORY_HOTPLUG this patch has no effect on it. The reason is that in sparse_add_one_section() the memory that memmap needs from Slab if kernel start completed,this memory has nothing to do with memblock alloc/ free memory in the process of kernel start.

You may have a look vmemmap_alloc_block () this function.

If I don't understand right welcome pointed out in a timely manner.

Thanks!


-----邮件原件-----
发件人: Song Bao Hua (Barry Song) 
发送时间: 2020年7月8日 15:19
收件人: liwei (CM) <liwei213@huawei.com>; catalin.marinas@arm.com; will@kernel.org
抄送: fengbaopeng <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; steve.capper@arm.com; rppt@linux.ibm.com; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; sujunfei <sujunfei2@hisilicon.com>
主题: RE: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP



> -----Original Message-----
> From: liwei (CM)
> Sent: Wednesday, July 8, 2020 1:56 PM
> To: catalin.marinas@arm.com; will@kernel.org
> Cc: liwei (CM) <liwei213@huawei.com>; fengbaopeng 
> <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; 
> steve.capper@arm.com; rppt@linux.ibm.com; Song Bao Hua (Barry Song) 
> <song.bao.hua@hisilicon.com>; linux-arm-kernel@lists.infradead.org;
> linux-kernel@vger.kernel.org; sujunfei <sujunfei2@hisilicon.com>
> Subject: [PATCH] arm64: mm: free unused memmap for sparse memory model 
> that define VMEMMAP
> 
> For the memory hole, sparse memory model that define SPARSEMEM_VMEMMAP 
> do not free the reserved memory for the page map, this patch do it.

Hello Wei,
Just curious if this patch breaks MEMORY_HOTPLUG?

> 
> Signed-off-by: Wei Li <liwei213@huawei.com>
> Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
> Signed-off-by: Xia Qing <saberlily.xia@hisilicon.com>
> ---
>  arch/arm64/mm/init.c | 81
> +++++++++++++++++++++++++++++++++++++++++++++-------
>  1 file changed, 71 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 
> 1e93cfc7c47a..d1b56b47d5ba 100644
> --- a/arch/arm64/mm/init.c
> +++ b/arch/arm64/mm/init.c
> @@ -441,7 +441,48 @@ void __init bootmem_init(void)
>  	memblock_dump_all();
>  }
> 

Thanks
Barry


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP
  2020-07-08  7:51   ` 答复: " liwei (CM)
@ 2020-07-09 12:27     ` Song Bao Hua (Barry Song)
  2020-07-21  1:56       ` 答复: " liwei (CM)
  0 siblings, 1 reply; 9+ messages in thread
From: Song Bao Hua (Barry Song) @ 2020-07-09 12:27 UTC (permalink / raw)
  To: liwei (CM), catalin.marinas, will
  Cc: fengbaopeng, nsaenzjulienne, steve.capper, rppt,
	linux-arm-kernel, linux-kernel, sujunfei, Xiaqing (A),
	Yaobaofeng (Yaobaofeng)



> -----Original Message-----
> From: liwei (CM)
> Sent: Wednesday, July 8, 2020 7:52 PM
> To: Song Bao Hua (Barry Song) <song.bao.hua@hisilicon.com>;
> catalin.marinas@arm.com; will@kernel.org
> Cc: fengbaopeng <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de;
> steve.capper@arm.com; rppt@linux.ibm.com;
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; sujunfei
> <sujunfei2@hisilicon.com>; Xiaqing (A) <saberlily.xia@hisilicon.com>;
> Yaobaofeng (Yaobaofeng) <yaobaofeng@huawei.com>
> Subject: 答复: [PATCH] arm64: mm: free unused memmap for sparse memory
> model that define VMEMMAP
> 
> Hi, baohua
> 
> Thank you for your attention.
> 
> In my understanding of the MEMORY_HOTPLUG this patch has no effect on it.
> The reason is that in sparse_add_one_section() the memory that memmap
> needs from Slab if kernel start completed,this memory has nothing to do with
> memblock alloc/ free memory in the process of kernel start.
> 
> You may have a look vmemmap_alloc_block () this function.
> 
> If I don't understand right welcome pointed out in a timely manner.

At the first glance of this patch, I suspect that this bootmem may be used by hot-added memory.
If you confirm this won't happen, please ignore my noise.

BTW, next time, bear in mind that top-post is not a good way to reply mail :-)

> 
> Thanks!
> 
> 
> -----邮件原件-----
> 发件人: Song Bao Hua (Barry Song)
> 发送时间: 2020年7月8日 15:19
> 收件人: liwei (CM) <liwei213@huawei.com>; catalin.marinas@arm.com;
> will@kernel.org
> 抄送: fengbaopeng <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de;
> steve.capper@arm.com; rppt@linux.ibm.com;
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; sujunfei
> <sujunfei2@hisilicon.com>
> 主题: RE: [PATCH] arm64: mm: free unused memmap for sparse memory
> model that define VMEMMAP
> 
> 
> 
> > -----Original Message-----
> > From: liwei (CM)
> > Sent: Wednesday, July 8, 2020 1:56 PM
> > To: catalin.marinas@arm.com; will@kernel.org
> > Cc: liwei (CM) <liwei213@huawei.com>; fengbaopeng
> > <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de;
> > steve.capper@arm.com; rppt@linux.ibm.com; Song Bao Hua (Barry Song)
> > <song.bao.hua@hisilicon.com>; linux-arm-kernel@lists.infradead.org;
> > linux-kernel@vger.kernel.org; sujunfei <sujunfei2@hisilicon.com>
> > Subject: [PATCH] arm64: mm: free unused memmap for sparse memory
> model
> > that define VMEMMAP
> >
> > For the memory hole, sparse memory model that define
> SPARSEMEM_VMEMMAP
> > do not free the reserved memory for the page map, this patch do it.
> 
> Hello Wei,
> Just curious if this patch breaks MEMORY_HOTPLUG?
> 
> >
> > Signed-off-by: Wei Li <liwei213@huawei.com>
> > Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
> > Signed-off-by: Xia Qing <saberlily.xia@hisilicon.com>
> > ---
> >  arch/arm64/mm/init.c | 81
> > +++++++++++++++++++++++++++++++++++++++++++++-------
> >  1 file changed, 71 insertions(+), 10 deletions(-)
> >
> > diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index
> > 1e93cfc7c47a..d1b56b47d5ba 100644
> > --- a/arch/arm64/mm/init.c
> > +++ b/arch/arm64/mm/init.c
> > @@ -441,7 +441,48 @@ void __init bootmem_init(void)
> >  	memblock_dump_all();
> >  }
> >
> 
> Thanks
> Barry


^ permalink raw reply	[flat|nested] 9+ messages in thread

* 答复: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP
  2020-07-09 12:27     ` Song Bao Hua (Barry Song)
@ 2020-07-21  1:56       ` liwei (CM)
  2020-07-21  6:35         ` Mike Rapoport
  0 siblings, 1 reply; 9+ messages in thread
From: liwei (CM) @ 2020-07-21  1:56 UTC (permalink / raw)
  To: Song Bao Hua (Barry Song), catalin.marinas, will
  Cc: fengbaopeng, nsaenzjulienne, steve.capper, rppt,
	linux-arm-kernel, linux-kernel, sujunfei, Xiaqing (A),
	Yaobaofeng (Yaobaofeng)

Hi, all

I'm sorry to bother you, but still very hope you can give comments or suggestions to this patch, thank you very much.


-----邮件原件-----
发件人: Song Bao Hua (Barry Song) 
发送时间: 2020年7月9日 20:27
收件人: liwei (CM) <liwei213@huawei.com>; catalin.marinas@arm.com; will@kernel.org
抄送: fengbaopeng <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; steve.capper@arm.com; rppt@linux.ibm.com; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; sujunfei <sujunfei2@hisilicon.com>; Xiaqing (A) <saberlily.xia@hisilicon.com>; Yaobaofeng (Yaobaofeng) <yaobaofeng@huawei.com>
主题: RE: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP



> -----Original Message-----
> From: liwei (CM)
> Sent: Wednesday, July 8, 2020 7:52 PM
> To: Song Bao Hua (Barry Song) <song.bao.hua@hisilicon.com>; 
> catalin.marinas@arm.com; will@kernel.org
> Cc: fengbaopeng <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; 
> steve.capper@arm.com; rppt@linux.ibm.com; 
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; 
> sujunfei <sujunfei2@hisilicon.com>; Xiaqing (A) 
> <saberlily.xia@hisilicon.com>; Yaobaofeng (Yaobaofeng) 
> <yaobaofeng@huawei.com>
> Subject: 答复: [PATCH] arm64: mm: free unused memmap for sparse memory 
> model that define VMEMMAP
> 
> Hi, baohua
> 
> Thank you for your attention.
> 
> In my understanding of the MEMORY_HOTPLUG this patch has no effect on it.
> The reason is that in sparse_add_one_section() the memory that memmap 
> needs from Slab if kernel start completed,this memory has nothing to 
> do with memblock alloc/ free memory in the process of kernel start.
> 
> You may have a look vmemmap_alloc_block () this function.
> 
> If I don't understand right welcome pointed out in a timely manner.

At the first glance of this patch, I suspect that this bootmem may be used by hot-added memory.
If you confirm this won't happen, please ignore my noise.

BTW, next time, bear in mind that top-post is not a good way to reply mail :-)

> 
> Thanks!
> 
> 
> -----邮件原件-----
> 发件人: Song Bao Hua (Barry Song)
> 发送时间: 2020年7月8日 15:19
> 收件人: liwei (CM) <liwei213@huawei.com>; catalin.marinas@arm.com; 
> will@kernel.org
> 抄送: fengbaopeng <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; 
> steve.capper@arm.com; rppt@linux.ibm.com; 
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; 
> sujunfei <sujunfei2@hisilicon.com>
> 主题: RE: [PATCH] arm64: mm: free unused memmap for sparse memory model 
> that define VMEMMAP
> 
> 
> 
> > -----Original Message-----
> > From: liwei (CM)
> > Sent: Wednesday, July 8, 2020 1:56 PM
> > To: catalin.marinas@arm.com; will@kernel.org
> > Cc: liwei (CM) <liwei213@huawei.com>; fengbaopeng 
> > <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; 
> > steve.capper@arm.com; rppt@linux.ibm.com; Song Bao Hua (Barry Song) 
> > <song.bao.hua@hisilicon.com>; linux-arm-kernel@lists.infradead.org;
> > linux-kernel@vger.kernel.org; sujunfei <sujunfei2@hisilicon.com>
> > Subject: [PATCH] arm64: mm: free unused memmap for sparse memory
> model
> > that define VMEMMAP
> >
> > For the memory hole, sparse memory model that define
> SPARSEMEM_VMEMMAP
> > do not free the reserved memory for the page map, this patch do it.
> 
> Hello Wei,
> Just curious if this patch breaks MEMORY_HOTPLUG?
> 
> >
> > Signed-off-by: Wei Li <liwei213@huawei.com>
> > Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
> > Signed-off-by: Xia Qing <saberlily.xia@hisilicon.com>
> > ---
> >  arch/arm64/mm/init.c | 81
> > +++++++++++++++++++++++++++++++++++++++++++++-------
> >  1 file changed, 71 insertions(+), 10 deletions(-)
> >
> > diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 
> > 1e93cfc7c47a..d1b56b47d5ba 100644
> > --- a/arch/arm64/mm/init.c
> > +++ b/arch/arm64/mm/init.c
> > @@ -441,7 +441,48 @@ void __init bootmem_init(void)
> >  	memblock_dump_all();
> >  }
> >
> 
> Thanks
> Barry


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: 答复: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP
  2020-07-21  1:56       ` 答复: " liwei (CM)
@ 2020-07-21  6:35         ` Mike Rapoport
  2020-07-21 12:27           ` 答复: " liwei (CM)
  0 siblings, 1 reply; 9+ messages in thread
From: Mike Rapoport @ 2020-07-21  6:35 UTC (permalink / raw)
  To: liwei (CM)
  Cc: Song Bao Hua (Barry Song),
	catalin.marinas, will, fengbaopeng, nsaenzjulienne, steve.capper,
	linux-arm-kernel, linux-kernel, sujunfei, Xiaqing (A),
	Yaobaofeng (Yaobaofeng)

Hi,

On Tue, Jul 21, 2020 at 01:56:33AM +0000, liwei (CM) wrote:
> Hi, all
> 
> I'm sorry to bother you, but still very hope you can give comments or suggestions to this patch, thank you very much.
 
I cannot find your patch neither in Inbox nor in the public archives.
Can you resend it please?


> -----邮件原件-----
> 发件人: Song Bao Hua (Barry Song) 
> 发送时间: 2020年7月9日 20:27
> 收件人: liwei (CM) <liwei213@huawei.com>; catalin.marinas@arm.com; will@kernel.org
> 抄送: fengbaopeng <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; steve.capper@arm.com; rppt@linux.ibm.com; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; sujunfei <sujunfei2@hisilicon.com>; Xiaqing (A) <saberlily.xia@hisilicon.com>; Yaobaofeng (Yaobaofeng) <yaobaofeng@huawei.com>
> 主题: RE: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP
> 
> 
> 
> > -----Original Message-----
> > From: liwei (CM)
> > Sent: Wednesday, July 8, 2020 7:52 PM
> > To: Song Bao Hua (Barry Song) <song.bao.hua@hisilicon.com>; 
> > catalin.marinas@arm.com; will@kernel.org
> > Cc: fengbaopeng <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; 
> > steve.capper@arm.com; rppt@linux.ibm.com; 
> > linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; 
> > sujunfei <sujunfei2@hisilicon.com>; Xiaqing (A) 
> > <saberlily.xia@hisilicon.com>; Yaobaofeng (Yaobaofeng) 
> > <yaobaofeng@huawei.com>
> > Subject: 答复: [PATCH] arm64: mm: free unused memmap for sparse memory 
> > model that define VMEMMAP
> > 
> > Hi, baohua
> > 
> > Thank you for your attention.
> > 
> > In my understanding of the MEMORY_HOTPLUG this patch has no effect on it.
> > The reason is that in sparse_add_one_section() the memory that memmap 
> > needs from Slab if kernel start completed,this memory has nothing to 
> > do with memblock alloc/ free memory in the process of kernel start.
> > 
> > You may have a look vmemmap_alloc_block () this function.
> > 
> > If I don't understand right welcome pointed out in a timely manner.
> 
> At the first glance of this patch, I suspect that this bootmem may be used by hot-added memory.
> If you confirm this won't happen, please ignore my noise.
> 
> BTW, next time, bear in mind that top-post is not a good way to reply mail :-)
> 
> > 
> > Thanks!
> > 
> > 
> > -----邮件原件-----
> > 发件人: Song Bao Hua (Barry Song)
> > 发送时间: 2020年7月8日 15:19
> > 收件人: liwei (CM) <liwei213@huawei.com>; catalin.marinas@arm.com; 
> > will@kernel.org
> > 抄送: fengbaopeng <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; 
> > steve.capper@arm.com; rppt@linux.ibm.com; 
> > linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; 
> > sujunfei <sujunfei2@hisilicon.com>
> > 主题: RE: [PATCH] arm64: mm: free unused memmap for sparse memory model 
> > that define VMEMMAP
> > 
> > 
> > 
> > > -----Original Message-----
> > > From: liwei (CM)
> > > Sent: Wednesday, July 8, 2020 1:56 PM
> > > To: catalin.marinas@arm.com; will@kernel.org
> > > Cc: liwei (CM) <liwei213@huawei.com>; fengbaopeng 
> > > <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; 
> > > steve.capper@arm.com; rppt@linux.ibm.com; Song Bao Hua (Barry Song) 
> > > <song.bao.hua@hisilicon.com>; linux-arm-kernel@lists.infradead.org;
> > > linux-kernel@vger.kernel.org; sujunfei <sujunfei2@hisilicon.com>
> > > Subject: [PATCH] arm64: mm: free unused memmap for sparse memory
> > model
> > > that define VMEMMAP
> > >
> > > For the memory hole, sparse memory model that define
> > SPARSEMEM_VMEMMAP
> > > do not free the reserved memory for the page map, this patch do it.
> > 
> > Hello Wei,
> > Just curious if this patch breaks MEMORY_HOTPLUG?
> > 
> > >
> > > Signed-off-by: Wei Li <liwei213@huawei.com>
> > > Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
> > > Signed-off-by: Xia Qing <saberlily.xia@hisilicon.com>
> > > ---
> > >  arch/arm64/mm/init.c | 81
> > > +++++++++++++++++++++++++++++++++++++++++++++-------
> > >  1 file changed, 71 insertions(+), 10 deletions(-)
> > >
> > > diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 
> > > 1e93cfc7c47a..d1b56b47d5ba 100644
> > > --- a/arch/arm64/mm/init.c
> > > +++ b/arch/arm64/mm/init.c
> > > @@ -441,7 +441,48 @@ void __init bootmem_init(void)
> > >  	memblock_dump_all();
> > >  }
> > >
> > 
> > Thanks
> > Barry
> 

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* 答复: 答复: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP
  2020-07-21  6:35         ` Mike Rapoport
@ 2020-07-21 12:27           ` liwei (CM)
  0 siblings, 0 replies; 9+ messages in thread
From: liwei (CM) @ 2020-07-21 12:27 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Song Bao Hua (Barry Song),
	catalin.marinas, will, fengbaopeng, nsaenzjulienne, steve.capper,
	linux-arm-kernel, linux-kernel, sujunfei, Xiaqing (A),
	Yaobaofeng (Yaobaofeng)



-----邮件原件-----
发件人: Mike Rapoport [mailto:rppt@linux.ibm.com] 
发送时间: 2020年7月21日 14:35
收件人: liwei (CM) <liwei213@huawei.com>
抄送: Song Bao Hua (Barry Song) <song.bao.hua@hisilicon.com>; catalin.marinas@arm.com; will@kernel.org; fengbaopeng <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; steve.capper@arm.com; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; sujunfei <sujunfei2@hisilicon.com>; Xiaqing (A) <saberlily.xia@hisilicon.com>; Yaobaofeng (Yaobaofeng) <yaobaofeng@huawei.com>
主题: Re: 答复: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP

Hi,

On Tue, Jul 21, 2020 at 01:56:33AM +0000, liwei (CM) wrote:
> Hi, all
> 
> I'm sorry to bother you, but still very hope you can give comments or suggestions to this patch, thank you very much.
 
I cannot find your patch neither in Inbox nor in the public archives.
Can you resend it please?

Hi, Mike

I resend the patch, if you see please give advice, thanks!



> -----邮件原件-----
> 发件人: Song Bao Hua (Barry Song)
> 发送时间: 2020年7月9日 20:27
> 收件人: liwei (CM) <liwei213@huawei.com>; catalin.marinas@arm.com; 
> will@kernel.org
> 抄送: fengbaopeng <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; 
> steve.capper@arm.com; rppt@linux.ibm.com; 
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; 
> sujunfei <sujunfei2@hisilicon.com>; Xiaqing (A) 
> <saberlily.xia@hisilicon.com>; Yaobaofeng (Yaobaofeng) 
> <yaobaofeng@huawei.com>
> 主题: RE: [PATCH] arm64: mm: free unused memmap for sparse memory model 
> that define VMEMMAP
> 
> 
> 
> > -----Original Message-----
> > From: liwei (CM)
> > Sent: Wednesday, July 8, 2020 7:52 PM
> > To: Song Bao Hua (Barry Song) <song.bao.hua@hisilicon.com>; 
> > catalin.marinas@arm.com; will@kernel.org
> > Cc: fengbaopeng <fengbaopeng2@hisilicon.com>; 
> > nsaenzjulienne@suse.de; steve.capper@arm.com; rppt@linux.ibm.com; 
> > linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; 
> > sujunfei <sujunfei2@hisilicon.com>; Xiaqing (A) 
> > <saberlily.xia@hisilicon.com>; Yaobaofeng (Yaobaofeng) 
> > <yaobaofeng@huawei.com>
> > Subject: 答复: [PATCH] arm64: mm: free unused memmap for sparse memory 
> > model that define VMEMMAP
> > 
> > Hi, baohua
> > 
> > Thank you for your attention.
> > 
> > In my understanding of the MEMORY_HOTPLUG this patch has no effect on it.
> > The reason is that in sparse_add_one_section() the memory that 
> > memmap needs from Slab if kernel start completed,this memory has 
> > nothing to do with memblock alloc/ free memory in the process of kernel start.
> > 
> > You may have a look vmemmap_alloc_block () this function.
> > 
> > If I don't understand right welcome pointed out in a timely manner.
> 
> At the first glance of this patch, I suspect that this bootmem may be used by hot-added memory.
> If you confirm this won't happen, please ignore my noise.
> 
> BTW, next time, bear in mind that top-post is not a good way to reply 
> mail :-)
> 
> > 
> > Thanks!
> > 
> > 
> > -----邮件原件-----
> > 发件人: Song Bao Hua (Barry Song)
> > 发送时间: 2020年7月8日 15:19
> > 收件人: liwei (CM) <liwei213@huawei.com>; catalin.marinas@arm.com; 
> > will@kernel.org
> > 抄送: fengbaopeng <fengbaopeng2@hisilicon.com>; 
> > nsaenzjulienne@suse.de; steve.capper@arm.com; rppt@linux.ibm.com; 
> > linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; 
> > sujunfei <sujunfei2@hisilicon.com>
> > 主题: RE: [PATCH] arm64: mm: free unused memmap for sparse memory 
> > model that define VMEMMAP
> > 
> > 
> > 
> > > -----Original Message-----
> > > From: liwei (CM)
> > > Sent: Wednesday, July 8, 2020 1:56 PM
> > > To: catalin.marinas@arm.com; will@kernel.org
> > > Cc: liwei (CM) <liwei213@huawei.com>; fengbaopeng 
> > > <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; 
> > > steve.capper@arm.com; rppt@linux.ibm.com; Song Bao Hua (Barry 
> > > Song) <song.bao.hua@hisilicon.com>; 
> > > linux-arm-kernel@lists.infradead.org;
> > > linux-kernel@vger.kernel.org; sujunfei <sujunfei2@hisilicon.com>
> > > Subject: [PATCH] arm64: mm: free unused memmap for sparse memory
> > model
> > > that define VMEMMAP
> > >
> > > For the memory hole, sparse memory model that define
> > SPARSEMEM_VMEMMAP
> > > do not free the reserved memory for the page map, this patch do it.
> > 
> > Hello Wei,
> > Just curious if this patch breaks MEMORY_HOTPLUG?
> > 
> > >
> > > Signed-off-by: Wei Li <liwei213@huawei.com>
> > > Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
> > > Signed-off-by: Xia Qing <saberlily.xia@hisilicon.com>
> > > ---
> > >  arch/arm64/mm/init.c | 81
> > > +++++++++++++++++++++++++++++++++++++++++++++-------
> > >  1 file changed, 71 insertions(+), 10 deletions(-)
> > >
> > > diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 
> > > 1e93cfc7c47a..d1b56b47d5ba 100644
> > > --- a/arch/arm64/mm/init.c
> > > +++ b/arch/arm64/mm/init.c
> > > @@ -441,7 +441,48 @@ void __init bootmem_init(void)
> > >  	memblock_dump_all();
> > >  }
> > >
> > 
> > Thanks
> > Barry
> 

--
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: 答复: 答复: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP
  2020-07-23 11:29         ` Catalin Marinas
@ 2020-07-23 13:18           ` Mike Rapoport
  0 siblings, 0 replies; 9+ messages in thread
From: Mike Rapoport @ 2020-07-23 13:18 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: liwei (CM), will, Xiaqing (A), Chenfeng (puck),
	butao, fengbaopeng, nsaenzjulienne, steve.capper,
	Song Bao Hua (Barry Song),
	linux-arm-kernel, linux-kernel, sujunfei, zhaojiapeng

On Thu, Jul 23, 2020 at 12:29:26PM +0100, Catalin Marinas wrote:
> On Wed, Jul 22, 2020 at 01:40:34PM +0000, liwei (CM) wrote:
> > Catalin Marinas wrote:
> > > On Wed, Jul 22, 2020 at 08:41:17AM +0000, liwei (CM) wrote:
> > > > Mike Rapoport wrote:
> > > > > On Tue, Jul 21, 2020 at 03:32:03PM +0800, Wei Li wrote:
> > > > > > For the memory hole, sparse memory model that define 
> > > > > > SPARSEMEM_VMEMMAP do not free the reserved memory for the page
> > > > > > map, this patch do it.
> > > > > 
> > > > > Are there numbers showing how much memory is actually freed?
> > > > > 
> > > > > The freeing of empty memmap would become rather complex with these 
> > > > > changes, do the memory savings justify it?
> > > > 
> > > > In the sparse memory model, the size of a section is 1 GB 
> > > > (SECTION_SIZE_BITS 30) by default.
> > > 
> > > Can we reduce SECTION_SIZE_BITS instead? Say 26?
> > 
> > Yes, you are right, reduce SECTION_SIZE_BITS to 26 can save almost the
> > same memory as the patch. 
> > 
> > 1) However, it is not clear whether changing the section size has any
> > other impact.
> 
> Well, we should analyse this.
> 
> > 2) Just like the flat memory model and the sparse memory model that
> > does not define VMEMMAP, both of them have their own ways to free
> > unused memmap. I think we've given a similar way for sparse memory
> > define VMEMMAP.
> 
> I think we did it for flatmem initially (on arm32) and added support for
> sparsemem later on, so free_unused_memmap() had to cope with sparse
> sections. On arm64 we introduced vmemmap support and didn't bother with
> the freeing at all because of the added complexity of the vmemmap page
> tables.
> 
> I wonder whether we should just disallow flatmem and non-vmemmap
> sparsemem on arm64. Is there any value in keeping them around?

FLATMEM is useful for UMA systems with a single memory bank, so probably
it's worth keeping it for low end machines.

Non-vmemmap sparsemem is essentially disable in arch/arm64/Kconfig, so
for NUMA configurations SPARSEMEM_VMEMMAP is the only choice.
 
> > 3) This explicit free unused memmap method does reduce unnecessary
> > memory waste for users who do not notice the section size
> > modification.
> 
> But if we changed SECTION_SIZE_BITS in the mainline kernel, then we
> wouldn't need additional code to free the unused memmap.

Moreover if we reduce SECTION_SIZE_BITS, we can drop
free_unused_memmap() and since the arm64 memory map for sparse will not
differ from other arches we can drop custom pfn_valid() as well.
 
> -- 
> Catalin

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: 答复: 答复: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP
  2020-07-22 13:40       ` 答复: " liwei (CM)
@ 2020-07-23 11:29         ` Catalin Marinas
  2020-07-23 13:18           ` Mike Rapoport
  0 siblings, 1 reply; 9+ messages in thread
From: Catalin Marinas @ 2020-07-23 11:29 UTC (permalink / raw)
  To: liwei (CM)
  Cc: Mike Rapoport, will, Xiaqing (A), Chenfeng (puck),
	butao, fengbaopeng, nsaenzjulienne, steve.capper,
	Song Bao Hua (Barry Song),
	linux-arm-kernel, linux-kernel, sujunfei, zhaojiapeng

On Wed, Jul 22, 2020 at 01:40:34PM +0000, liwei (CM) wrote:
> Catalin Marinas wrote:
> > On Wed, Jul 22, 2020 at 08:41:17AM +0000, liwei (CM) wrote:
> > > Mike Rapoport wrote:
> > > > On Tue, Jul 21, 2020 at 03:32:03PM +0800, Wei Li wrote:
> > > > > For the memory hole, sparse memory model that define 
> > > > > SPARSEMEM_VMEMMAP do not free the reserved memory for the page
> > > > > map, this patch do it.
> > > > 
> > > > Are there numbers showing how much memory is actually freed?
> > > > 
> > > > The freeing of empty memmap would become rather complex with these 
> > > > changes, do the memory savings justify it?
> > > 
> > > In the sparse memory model, the size of a section is 1 GB 
> > > (SECTION_SIZE_BITS 30) by default.
> > 
> > Can we reduce SECTION_SIZE_BITS instead? Say 26?
> 
> Yes, you are right, reduce SECTION_SIZE_BITS to 26 can save almost the
> same memory as the patch. 
> 
> 1) However, it is not clear whether changing the section size has any
> other impact.

Well, we should analyse this.

> 2) Just like the flat memory model and the sparse memory model that
> does not define VMEMMAP, both of them have their own ways to free
> unused memmap. I think we've given a similar way for sparse memory
> define VMEMMAP.

I think we did it for flatmem initially (on arm32) and added support for
sparsemem later on, so free_unused_memmap() had to cope with sparse
sections. On arm64 we introduced vmemmap support and didn't bother with
the freeing at all because of the added complexity of the vmemmap page
tables.

I wonder whether we should just disallow flatmem and non-vmemmap
sparsemem on arm64. Is there any value in keeping them around?

> 3) This explicit free unused memmap method does reduce unnecessary
> memory waste for users who do not notice the section size
> modification.

But if we changed SECTION_SIZE_BITS in the mainline kernel, then we
wouldn't need additional code to free the unused memmap.

-- 
Catalin

^ permalink raw reply	[flat|nested] 9+ messages in thread

* 答复: 答复: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP
  2020-07-22 12:49     ` Catalin Marinas
@ 2020-07-22 13:40       ` liwei (CM)
  2020-07-23 11:29         ` Catalin Marinas
  0 siblings, 1 reply; 9+ messages in thread
From: liwei (CM) @ 2020-07-22 13:40 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: Mike Rapoport, will, Xiaqing (A), Chenfeng (puck),
	butao, fengbaopeng, nsaenzjulienne, steve.capper,
	Song Bao Hua (Barry Song),
	linux-arm-kernel, linux-kernel, sujunfei, zhaojiapeng


-----邮件原件-----
发件人: Catalin Marinas [mailto:catalin.marinas@arm.com] 
发送时间: 2020年7月22日 20:49
收件人: liwei (CM) <liwei213@huawei.com>
抄送: Mike Rapoport <rppt@linux.ibm.com>; will@kernel.org; Xiaqing (A) <saberlily.xia@hisilicon.com>; Chenfeng (puck) <puck.chen@hisilicon.com>; butao <butao@hisilicon.com>; fengbaopeng <fengbaopeng2@hisilicon.com>; nsaenzjulienne@suse.de; steve.capper@arm.com; Song Bao Hua (Barry Song) <song.bao.hua@hisilicon.com>; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; sujunfei <sujunfei2@hisilicon.com>; zhaojiapeng <zhaojiapeng@huawei.com>
主题: Re: 答复: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP

On Wed, Jul 22, 2020 at 08:41:17AM +0000, liwei (CM) wrote:
> Mike Rapoport wrote:
> > On Tue, Jul 21, 2020 at 03:32:03PM +0800, Wei Li wrote:
> > > For the memory hole, sparse memory model that define 
> > > SPARSEMEM_VMEMMAP do not free the reserved memory for the page map, this patch do it.
> > 
> > Are there numbers showing how much memory is actually freed?
> > 
> > The freeing of empty memmap would become rather complex with these 
> > changes, do the memory savings justify it?
> 
> In the sparse memory model, the size of a section is 1 GB 
> (SECTION_SIZE_BITS 30) by default.

Can we reduce SECTION_SIZE_BITS instead? Say 26?

Hi, Catalin

Yes, you are right, reduce SECTION_SIZE_BITS to 26 can save almost the same memory as the patch. 

1) However, it is not clear whether changing the section size has any other impact.

2) Just like the flat memory model and the sparse memory model that does not define VMEMMAP, both of them have their own ways to free unused memmap. I think we've given a similar way for sparse memory define VMEMMAP.

3) This explicit free unused memmap method does reduce unnecessary memory waste for users who do not notice the section size modification.

Hope you will reconsider the purpose and significance of this patch, thanks.

--
Catalin

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-07-23 13:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20200708015555.14946-1-liwei213@huawei.com>
2020-07-08  7:18 ` [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP Song Bao Hua (Barry Song)
2020-07-08  7:51   ` 答复: " liwei (CM)
2020-07-09 12:27     ` Song Bao Hua (Barry Song)
2020-07-21  1:56       ` 答复: " liwei (CM)
2020-07-21  6:35         ` Mike Rapoport
2020-07-21 12:27           ` 答复: " liwei (CM)
2020-07-21  7:32 Wei Li
2020-07-22  6:07 ` Mike Rapoport
2020-07-22  8:41   ` 答复: " liwei (CM)
2020-07-22 12:49     ` Catalin Marinas
2020-07-22 13:40       ` 答复: " liwei (CM)
2020-07-23 11:29         ` Catalin Marinas
2020-07-23 13:18           ` Mike Rapoport

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).