Subject: Re: [PATCH] aarch64/mm: speedup memory initialisation

From: Hubert Ralf <[email-masked]>
Date: Thu, 12 Sep 2019 05:36:53 +0000

Hi James,
On 09/11/2019, 17:22 +0100 James Morse wrote:
> Hi Hubert,
> 
> (Subject-Nit: The prefix for this part of the kernel is 'arm64: mm:'. 
> git log --oneline $file will usually give you enough examples you can 
> spot the pattern.)
Thanks for the hint.
> 
> On 9/10/19 9:59 AM, Hubert Ralf wrote:
> > On ARM64 memmap_init_zone is used during bootmem_init, which iterates over
> > all pages in the memory starting at the lowest address until the highest
> > address is reached. On arm64 this ends up in searching a memmory region
> > containing for each single page between lowest and highest available
> > physicall address.
> > Having a sparse memory system there may be some big holes in the
> > memory map. For each page in this holes a lookup is done, which is
> > implemented as a binary search on the available memory blocks.
> > 
> > Adding a memmap_init for aarch64 to do the init only for the available
> > memory areas reduces the time needed for initialising memory on startup.
> > On a Renesas R-CAR M3 based system with a total hole of 20GB bootmem_init
> > execution time is reduced from 378ms to 84ms.
> 
> Hmm, there is nothing arm64 specific about this SPARSEMEM behaviour.
> Is there any reason this can't be done in core code, where it would 
> benefit other architectures too?
I'll try to move this to the core code.
> 
> (You'd need it to depend on !ARCH_DISCARD_MEMBLOCK as it looks like 
> memory-hotplug uses this late).
> 
> 
> Thanks,
> 
> James
Thanks,
Ralf
_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel