Re: [PATCHv7 01/19] mm/sparsemem: Allocate mem_section at runtime for SPARSEMEM_EXTREME

From: Ingo Molnar
Date: Thu Sep 28 2017 - 05:40:03 EST



* Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote:

> On Thu, Sep 28, 2017 at 10:07:11AM +0200, Ingo Molnar wrote:
> >
> > * Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> wrote:
> >
> > > Size of mem_section array depends on size of physical address space.
> > >
> > > In preparation for boot-time switching between paging modes on x86-64
> > > we need to make allocation of mem_section dynamic.
> > >
> > > The patch allocates the array on the first call to
> > > sparse_memory_present_with_active_regions().
> > >
> > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> >
> > What is the size of the allocations here, in bytes, for the two main variants?
>
> For 4-level paging it's 32k. For 5-level paging it's 2M.

Ok, please put this information into the changelog, because it's relevant: we
don't want to waste 2MB of RAM on the majority of systems that boot a distro
kernel with 5-level paging enabled.

Thanks,

Ingo