linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Feng Tang <feng.tang@intel.com>
Cc: Michal Hocko <mhocko@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-kernel@vger.kernel.org, x86@kernel.org,
	Ingo Molnar <mingo@elte.hu>,
	"H . Peter Anvin" <hpa@linux.intel.com>,
	Yinghai Lu <yinghai@kernel.org>,
	Dave Hansen <dave.hansen@intel.com>,
	Andi Kleen <ak@linux.intel.com>
Subject: Re: [PATCH] x86, mm: Reserver some memory for bootmem allocator for NO_BOOTMEM
Date: Thu, 30 Aug 2018 15:05:31 +0200 (CEST)	[thread overview]
Message-ID: <alpine.DEB.2.21.1808301504300.1210@nanos.tec.linutronix.de> (raw)
In-Reply-To: <20180830125909.uq3e76akcmep6j2u@shbuild888>

On Thu, 30 Aug 2018, Feng Tang wrote:
> On Thu, Aug 30, 2018 at 02:49:15PM +0200, Michal Hocko wrote:
> > On Thu 30-08-18 13:54:19, Thomas Gleixner wrote:
> > > On Thu, 30 Aug 2018, Michal Hocko wrote:
> > > > On Thu 30-08-18 12:44:02, Peter Zijlstra wrote:
> > > > > On Thu, Aug 30, 2018 at 05:03:19PM +0800, Feng Tang wrote:
> > > > > > The root cause is that when CONFIG_NO_BOOTMEM=y,  before
> > > > > > e820__memblock_setup() is called there is no memory for bootmem
> > > > > > to allocate,
> > > > > 
> > > > > Which you bloody well asked for by using NO_BOOTMEM=y.
> > > > > 
> > > > > Going down this route; adding hacks for every little thing that does
> > > > > want bootmem, completely defeats the purpose.
> > > > > 
> > > > > If anything, make the earlycon thing depend on NO_BOOTMEM=n. That also
> > > > > solves your problem. No earlycon, no panic.
> > > > 
> > > > Well, there is endeavor to remove bootmem allocator altogether. So
> > > > making earlycon depend on NO_BOOTMEM=n doesn't sound like a good fit to
> > > 
> > > If we want to remove bootmem, then reintroducing it with a static bootmem
> > > section doesn't make any sense at all.
> > 
> > I have actually checked the code now and see what you mean. I thought it
> > would be a single allocation that is needed but that is not the case so
> > the static buffer is not going to fly.
> 
> Exactly! I tried several ways for the static allocation, like in data, in bss
> section, but they all failed, as in the very start of setup_arch():
> 
> 	memblock_reserve(__pa_symbol(_text),
> 		(unsigned long)__bss_stop - (unsigned long)_text);
> 
> Those [_text, __bss_stop] is not able to be used by alloc_bootmem(). And I
> only got this patch, and really appreciate any good suggestions.

And why do you want to use bootmem in the first place? If boot mem is going
away, why are you not fixing the early console crap to NOT use bootmem at
all?

Thanks,

	tglx

  reply	other threads:[~2018-08-30 13:05 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-30  9:03 [PATCH] x86, mm: Reserver some memory for bootmem allocator for NO_BOOTMEM Feng Tang
2018-08-30 10:44 ` Peter Zijlstra
2018-08-30 11:12   ` Michal Hocko
2018-08-30 11:54     ` Thomas Gleixner
2018-08-30 12:49       ` Michal Hocko
2018-08-30 12:59         ` Feng Tang
2018-08-30 13:05           ` Thomas Gleixner [this message]
2018-08-30 13:19             ` Feng Tang
2018-08-30 13:25               ` Thomas Gleixner
2018-08-30 13:55                 ` Feng Tang
2018-08-31  6:15                 ` Feng Tang
2018-08-31 11:33                   ` Thomas Gleixner
2018-08-31 13:36                     ` Feng Tang
2018-09-07  8:17                       ` Feng Tang
2018-09-07 10:52                         ` Thomas Gleixner
2018-09-10  9:39                           ` Feng Tang
2018-09-10  9:53                             ` Thomas Gleixner
2018-09-11  6:14                               ` Feng Tang
2018-09-15 10:29                                 ` Thomas Gleixner
2018-09-15 16:47                                   ` Feng Tang
2018-09-15 17:28                                     ` Thomas Gleixner
2018-09-16 14:35                                       ` Feng Tang
2018-09-16 14:43                                         ` Thomas Gleixner
2018-09-16 15:06                                           ` Feng Tang
2018-09-17  7:01                                             ` Feng Tang
2018-09-17  7:01                                               ` Thomas Gleixner
2018-08-30 12:09     ` Peter Zijlstra
2018-08-30 12:39       ` Michal Hocko
2018-08-30 12:43   ` Feng Tang

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.21.1808301504300.1210@nanos.tec.linutronix.de \
    --to=tglx@linutronix.de \
    --cc=ak@linux.intel.com \
    --cc=dave.hansen@intel.com \
    --cc=feng.tang@intel.com \
    --cc=hpa@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhocko@kernel.org \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --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).