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:25:42 +0200 (CEST)	[thread overview]
Message-ID: <alpine.DEB.2.21.1808301523510.1210@nanos.tec.linutronix.de> (raw)
In-Reply-To: <20180830131920.w2jqjvlkpfb4ejb2@shbuild888>

On Thu, 30 Aug 2018, Feng Tang wrote:
> On Thu, Aug 30, 2018 at 03:05:31PM +0200, Thomas Gleixner wrote:
> > > 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?
> 
> The earlycon need use fixmap to map the mmio register, while fixmap will
> need a new page for page table if the pmd/pte is not already their, as shown
> in the commit log: 
> 
> 	  panic+0xd2/0x220
> 	  __alloc_bootmem+0x31/0x34
> 	  spp_getpage+0x60/0x8a
> 	  fill_pte+0x71/0x130
> 	  __set_pte_vaddr+0x1d/0x50
> 	  set_pte_vaddr+0x3c/0x60
> 	  __native_set_fixmap+0x23/0x30
> 	  native_set_fixmap+0x30/0x40
> 	  setup_earlycon+0x1e0/0x32f
> 	  param_setup_earlycon+0x13/0x22
> 	  do_early_param+0x5b/0x90
> 	  parse_args+0x1f7/0x300
> 	  parse_early_options+0x24/0x28
> 	  parse_early_param+0x65/0x73
> 	  setup_arch+0x31e/0x9f1
> 	  start_kernel+0x58/0x44e
> 
> inside the spp_getpage():
> 	
> 	if (after_bootmem)
> 		ptr = (void *) get_zeroed_page(GFP_ATOMIC);
> 	else
> 		ptr = alloc_bootmem_pages(PAGE_SIZE);

And where is the problem? We know that we need the fixmap during early boot
anyway, so allocating the PTE page statically and setting it up early
enough is not really rocket science. No allocator required.

Thanks,

	tglx

  reply	other threads:[~2018-08-30 13:25 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
2018-08-30 13:19             ` Feng Tang
2018-08-30 13:25               ` Thomas Gleixner [this message]
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.1808301523510.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).