linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Nathan Zimmer <nzimmer@sgi.com>,
	holt@sgi.com, travis@sgi.com, rob@landley.net,
	tglx@linutronix.de, mingo@redhat.com, yinghai@kernel.org,
	akpm@linux-foundation.org, x86@kernel.org,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC 0/2] Delay initializing of large sections of memory
Date: Fri, 21 Jun 2013 10:03:01 -0700	[thread overview]
Message-ID: <51C48745.9030304@zytor.com> (raw)
In-Reply-To: <20130621165142.GA32125@kroah.com>

On 06/21/2013 09:51 AM, Greg KH wrote:
> On Fri, Jun 21, 2013 at 11:25:32AM -0500, Nathan Zimmer wrote:
>> This rfc patch set delays initializing large sections of memory until we have
>> started cpus.  This has the effect of reducing startup times on large memory
>> systems.  On 16TB it can take over an hour to boot and most of that time
>> is spent initializing memory.
>>
>> We avoid that bottleneck by delaying initialization until after we have 
>> started multiple cpus and can initialize in a multithreaded manner.
>> This allows us to actually reduce boot time rather then just moving around
>> the point of initialization.
>>
>> Mike and I have worked on this set for a while, with him doing the most of the
>> heavy lifting, and are eager for some feedback.
> 
> Why make this a config option at all, why not just always do this if the
> memory size is larger than some specific number (like 8TB?)
> 
> Otherwise the distros will always enable this option, and having it be a
> configuration choice doesn't make any sense.
> 

Since you made it a compile time option, it would be good to know how
much code it adds, but otherwise I agree with Greg here... this really
shouldn't need to be an option.  It *especially* shouldn't need to be a
hand-set runtime option (which looks quite complex, to boot.)

I suspect the cutoff for this should be a lot lower than 8 TB even, more
like 128 GB or so.  The only concern is to not set the cutoff so low
that we can end up running out of memory or with suboptimal NUMA
placement just because of this.

Also, in case it is not bloody obvious: whatever memory the kernel image
was loaded into MUST be considered "online", even if it is loaded way high.

	-hpa





  reply	other threads:[~2013-06-21 17:03 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-21 16:25 [RFC 0/2] Delay initializing of large sections of memory Nathan Zimmer
2013-06-21 16:25 ` [RFC 1/2] x86_64, mm: Delay initializing large portion " Nathan Zimmer
2013-06-25  4:14   ` Rob Landley
2013-06-21 16:25 ` [RFC 2/2] x86_64, mm: Reinsert the absent memory Nathan Zimmer
2013-06-23  9:28   ` Ingo Molnar
2013-06-23  9:32     ` Ingo Molnar
2013-06-24 17:38       ` H. Peter Anvin
2013-06-24 19:39         ` Ingo Molnar
2013-06-24 20:08           ` H. Peter Anvin
2013-06-25  7:31             ` Ingo Molnar
2013-06-24 20:36     ` Nathan Zimmer
2013-06-25  7:38       ` Ingo Molnar
2013-06-25 15:07         ` H. Peter Anvin
2013-06-25 17:19           ` Mike Travis
2013-06-25 17:22         ` Mike Travis
2013-06-25 18:43           ` H. Peter Anvin
2013-06-25 18:51             ` Mike Travis
2013-06-26  9:22               ` [RFC] Transparent on-demand memory setup initialization embedded in the (GFP) buddy allocator Ingo Molnar
2013-06-26 13:28                 ` Andrew Morton
2013-06-26 13:37                   ` Ingo Molnar
2013-06-26 15:02                     ` Nathan Zimmer
2013-06-26 16:15                     ` Mike Travis
2013-06-26 12:14       ` [RFC 2/2] x86_64, mm: Reinsert the absent memory Ingo Molnar
2013-06-26 14:49         ` Nathan Zimmer
2013-06-26 15:12           ` Dave Hansen
2013-06-26 15:20             ` Nathan Zimmer
2013-06-26 15:58               ` Ingo Molnar
2013-06-26 16:11                 ` Nathan Zimmer
2013-06-26 16:07         ` Mike Travis
2013-06-21 16:51 ` [RFC 0/2] Delay initializing of large sections of memory Greg KH
2013-06-21 17:03   ` H. Peter Anvin [this message]
2013-06-21 17:18     ` Nathan Zimmer
2013-06-21 17:28       ` H. Peter Anvin
2013-06-21 20:05         ` Nathan Zimmer
2013-06-21 20:08           ` H. Peter Anvin
2013-06-21 20:33             ` Nathan Zimmer
2013-06-21 21:36             ` Mike Travis
2013-06-21 21:07       ` Mike Travis
2013-06-21 18:44     ` Yinghai Lu
2013-06-21 18:50       ` Greg KH
2013-06-21 19:10         ` Yinghai Lu
2013-06-21 19:19           ` Nathan Zimmer
2013-06-21 20:28             ` Yinghai Lu
2013-06-21 20:40               ` Nathan Zimmer
2013-06-21 21:30         ` Mike Travis
2013-06-22  0:23           ` Yinghai Lu
2013-06-25 17:35             ` Mike Travis
2013-06-25 18:17               ` H. Peter Anvin
2013-06-25 18:40                 ` Mike Travis
2013-06-25 18:40                 ` Yinghai Lu
2013-06-25 18:44                   ` H. Peter Anvin
2013-06-25 18:58                     ` Mike Travis
2013-06-25 19:03                       ` Yinghai Lu
2013-06-25 19:09                         ` H. Peter Anvin
2013-06-25 19:28                           ` Yinghai Lu
2013-06-27  6:37                       ` Yinghai Lu
2013-06-27 11:05                         ` Robin Holt
2013-06-27 15:50                         ` Mike Travis
2013-06-26  9:23                   ` Ingo Molnar
2013-06-25 18:38               ` Yinghai Lu
2013-06-25 18:42                 ` Mike Travis
2013-06-21 18:36 ` Yinghai Lu
2013-06-21 18:44   ` Greg Kroah-Hartman
2013-06-21 19:00     ` Yinghai Lu
2013-06-21 21:28       ` Mike Travis
2013-06-21 21:19   ` Mike Travis

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=51C48745.9030304@zytor.com \
    --to=hpa@zytor.com \
    --cc=akpm@linux-foundation.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=holt@sgi.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nzimmer@sgi.com \
    --cc=rob@landley.net \
    --cc=tglx@linutronix.de \
    --cc=travis@sgi.com \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).