From: David Rientjes <rientjes@google.com>
To: Russ Anderson <rja@sgi.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com
Subject: Re: [patch] mm: speedup in __early_pfn_to_nid
Date: Mon, 18 Mar 2013 20:56:13 -0700 (PDT) [thread overview]
Message-ID: <alpine.DEB.2.02.1303182055560.28114@chino.kir.corp.google.com> (raw)
In-Reply-To: <20130318155619.GA18828@sgi.com>
On Mon, 18 Mar 2013, Russ Anderson wrote:
> When booting on a large memory system, the kernel spends
> considerable time in memmap_init_zone() setting up memory zones.
> Analysis shows significant time spent in __early_pfn_to_nid().
>
> The routine memmap_init_zone() checks each PFN to verify the
> nid is valid. __early_pfn_to_nid() sequentially scans the list of
> pfn ranges to find the right range and returns the nid. This does
> not scale well. On a 4 TB (single rack) system there are 308
> memory ranges to scan. The higher the PFN the more time spent
> sequentially spinning through memory ranges.
>
> Since memmap_init_zone() increments pfn, it will almost always be
> looking for the same range as the previous pfn, so check that
> range first. If it is in the same range, return that nid.
> If not, scan the list as before.
>
> A 4 TB (single rack) UV1 system takes 512 seconds to get through
> the zone code. This performance optimization reduces the time
> by 189 seconds, a 36% improvement.
>
> A 2 TB (single rack) UV2 system goes from 212.7 seconds to 99.8 seconds,
> a 112.9 second (53%) reduction.
>
> Signed-off-by: Russ Anderson <rja@sgi.com>
Acked-by: David Rientjes <rientjes@google.com>
Very nice improvement!
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2013-03-19 3:56 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-18 15:56 Russ Anderson
2013-03-19 3:56 ` David Rientjes [this message]
2013-03-20 22:32 ` Andrew Morton
2013-03-21 10:55 ` Ingo Molnar
2013-03-21 12:35 ` Michal Hocko
2013-03-21 18:03 ` Ingo Molnar
2013-03-25 21:26 ` Andrew Morton
2013-03-26 8:05 ` Ingo Molnar
2013-03-21 18:40 ` David Rientjes
2013-03-22 7:25 ` Ingo Molnar
2013-03-23 15:29 ` Russ Anderson
2013-03-23 20:37 ` Yinghai Lu
2013-03-25 2:11 ` Lin Feng
2013-03-25 21:56 ` Russ Anderson
2013-03-25 22:17 ` Yinghai Lu
2013-03-23 22:24 ` KOSAKI Motohiro
2013-03-25 0:28 ` David Rientjes
2013-03-25 21:34 ` Andrew Morton
2013-03-25 22:36 ` David Rientjes
2013-03-25 22:42 ` Andrew Morton
2013-03-24 7:43 ` Ingo Molnar
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=alpine.DEB.2.02.1303182055560.28114@chino.kir.corp.google.com \
--to=rientjes@google.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@redhat.com \
--cc=rja@sgi.com \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox