答复: 答复: [PATCH] arm64: mm: free unused memmap for sparse memory model that define VMEMMAP

From: liwei (CM)
Date: Wed Jul 22 2020 - 09:40:50 EST



-----邮件原件-----
发件人: Catalin Marinas [mailto:catalin.marinas@xxxxxxx]
发送时间: 2020年7月22日 20:49
收件人: liwei (CM) <liwei213@xxxxxxxxxx>
抄送: Mike Rapoport <rppt@xxxxxxxxxxxxx>; will@xxxxxxxxxx; Xiaqing (A) <saberlily.xia@xxxxxxxxxxxxx>; Chenfeng (puck) <puck.chen@xxxxxxxxxxxxx>; butao <butao@xxxxxxxxxxxxx>; fengbaopeng <fengbaopeng2@xxxxxxxxxxxxx>; nsaenzjulienne@xxxxxxx; steve.capper@xxxxxxx; Song Bao Hua (Barry Song) <song.bao.hua@xxxxxxxxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; sujunfei <sujunfei2@xxxxxxxxxxxxx>; zhaojiapeng <zhaojiapeng@xxxxxxxxxx>
主题: 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