All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Yang <richard.weiyang@gmail.com>
To: Michal Hocko <mhocko@suse.com>
Cc: Wei Yang <richard.weiyang@gmail.com>,
	Mel Gorman <mgorman@suse.de>,
	akpm@linux-foundation.org, linux-mm@kvack.org
Subject: Re: [PATCH] mm/page_alloc: call set_pageblock_order() once for each node
Date: Wed, 4 Apr 2018 09:27:34 +0800	[thread overview]
Message-ID: <20180404012734.GA1841@WeideMacBook-Pro.local> (raw)
In-Reply-To: <20180403075737.GB5501@dhcp22.suse.cz>

On Tue, Apr 03, 2018 at 09:57:37AM +0200, Michal Hocko wrote:
>On Fri 30-03-18 09:02:43, Wei Yang wrote:
>> On Thu, Mar 29, 2018 at 01:11:09PM +0100, Mel Gorman wrote:
>> >On Thu, Mar 29, 2018 at 11:36:07AM +0800, Wei Yang wrote:
>> >> set_pageblock_order() is a standalone function which sets pageblock_order,
>> >> while current implementation calls this function on each ZONE of each node
>> >> in free_area_init_core().
>> >> 
>> >> Since free_area_init_node() is the only user of free_area_init_core(),
>> >> this patch moves set_pageblock_order() up one level to invoke
>> >> set_pageblock_order() only once on each node.
>> >> 
>> >> Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
>> >
>> >The patch looks ok but given that set_pageblock_order returns immediately
>> >if it has already been called, I expect the benefit is marginal. Was any
>> >improvement in boot time measured?
>> 
>> No, I don't expect measurable improvement from this since the number of nodes
>> and zones are limited.
>> 
>> This is just a code refine from logic point of view.
>
>Then, please make sure it is a real refinement. Calling this function
>per node is only half way to get there as the function is by no means
>per node.
>

Hi, Michal

I guess you are willing to see this function is only called once for the whole
system.

Yes, that is the ideal way, well I don't come up with an elegant way. The best
way is to move this to free_area_init_nodes(), while you can see not all arch
use this function.

Then I have two options:

A: Move this to free_area_init_nodes() for those arch using it. Call it
specifically for those arch not using free_area_init_nodes().

B: call it before setup_arch() in start_kernel()

Hmm... which one you would prefer? If you have a better idea, that would be
great.

>-- 
>Michal Hocko
>SUSE Labs

-- 
Wei Yang
Help you, Help me

  reply	other threads:[~2018-04-04  1:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-29  3:36 [PATCH] mm/page_alloc: call set_pageblock_order() once for each node Wei Yang
2018-03-29 12:11 ` Mel Gorman
2018-03-30  1:02   ` Wei Yang
2018-04-03  7:57     ` Michal Hocko
2018-04-04  1:27       ` Wei Yang [this message]
2018-04-05  9:55         ` Michal Hocko
2018-04-06  1:46           ` Wei Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180404012734.GA1841@WeideMacBook-Pro.local \
    --to=richard.weiyang@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=mhocko@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.