[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0f03d5c6-182c-d30f-68ef-8d1a767bfcf8@imgtec.com>
Date: Tue, 10 Jan 2017 23:37:53 +0000
From: James Hartley <james.hartley@...tec.com>
To: Andrew Morton <akpm@...ux-foundation.org>,
Paul Burton <paul.burton@...tec.com>
CC: <linux-mm@...ck.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] mm: page_alloc: Skip over regions of invalid pfns where
possible
On 06/01/17 22:43, Andrew Morton wrote:
> On Fri, 25 Nov 2016 18:55:18 +0000 Paul Burton <paul.burton@...tec.com> wrote:
>
>> When using a sparse memory model memmap_init_zone() when invoked with
>> the MEMMAP_EARLY context will skip over pages which aren't valid - ie.
>> which aren't in a populated region of the sparse memory map. However if
>> the memory map is extremely sparse then it can spend a long time
>> linearly checking each PFN in a large non-populated region of the memory
>> map & skipping it in turn.
>>
>> When CONFIG_HAVE_MEMBLOCK_NODE_MAP is enabled, we have sufficient
>> information to quickly discover the next valid PFN given an invalid one
>> by searching through the list of memory regions & skipping forwards to
>> the first PFN covered by the memory region to the right of the
>> non-populated region. Implement this in order to speed up
>> memmap_init_zone() for systems with extremely sparse memory maps.
> Could we have a changelog which includes some timing measurements?
> That permits others to understand the value of this patch.
>
I have tested this patch on a virtual model of a Samurai CPU with a
sparse memory map. The kernel boot time drops from 109 to 62 seconds.
James
Powered by blists - more mailing lists