Re: [PATCH] mm/page_alloc: break on the first hit of mem range

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 28, 2018 at 09:02:00AM +0200, Michal Hocko wrote:
>On Wed 28-03-18 08:39:36, Wei Yang wrote:
>> On Tue, Mar 27, 2018 at 12:58:21PM +0200, Michal Hocko wrote:
>> >On Tue 27-03-18 11:57:07, Wei Yang wrote:
>> >> find_min_pfn_for_node() iterate on pfn range to find the minimum pfn for a
>> >> node. The memblock_region in memblock_type are already ordered, which means
>> >> the first hit in iteration is the minimum pfn.
>> >
>> >I haven't looked at the code yet but the changelog should contain the
>> >motivation why it exists. It seems like this is an optimization. If so,
>> >what is the impact?
>> >
>> 
>> Yep, this is a trivial optimization on searching the minimal pfn on a special
>> node. It would be better for audience to understand if I put some words in
>> change log.
>> 
>> The impact of this patch is it would accelerate the searching process when
>> there are many memory ranges in memblock.
>> 
>> For example, in the case https://lkml.org/lkml/2018/3/25/291, there are around
>> 30 memory ranges on node 0. The original code need to iterate all those ranges
>> to find the minimal pfn, while after optimization it just need once.
>
>Then show us some numbers to justify the change.

Oops, I don't have any data to prove this.

My test machine just has 7 memory regions and only one node. So it reduce
iteration from 7 to 1, which I don't think will have some visible effect.

While we can do some calculation to estimate the effect.

Assume there are N memory regions and M nodes and each node has equal number
of memory regions.

So before the change, there are

	N * M    iterations

After this optimization, there are

        (N / 2) * M   iterations

So the expected improvement of this change is half the iterations for finding
the minimal pfn.

Last but not the least, as I know, usually there are less than 100 memory
regions on a machine. This improvement is really limited on current systems.
The more memory regions and node a system has, the more improvement it will
has.

>-- 
>Michal Hocko
>SUSE Labs

-- 
Wei Yang
Help you, Help me




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux