All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yinghai Lu <Yinghai.Lu@Sun.COM>
To: Andi Kleen <ak@suse.de>
Cc: Ingo Molnar <mingo@elte.hu>, Christoph Lameter <clameter@sgi.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] x86_64: make early_node_mem return align address
Date: Tue, 29 Jan 2008 19:24:32 -0800	[thread overview]
Message-ID: <200801291924.33406.yinghai.lu@sun.com> (raw)
In-Reply-To: <200801300355.46342.ak@suse.de>

On Tuesday 29 January 2008 06:55:45 pm Andi Kleen wrote:
> On Tuesday 29 January 2008 18:41, Yinghai Lu wrote:
> > On Tuesday 29 January 2008 01:33:29 am Andi Kleen wrote:
> > > On Tuesday 29 January 2008 10:05, Yinghai Lu wrote:
> > > > [PATCH 2/2] x86_64: make early_node_mem return align address
> > > >
> > > > boot oops when system get 64g or 128g installed
> > >
> > > Probably it should just use reserve_early(). Does this patch work?
> > >
> > > The alignment change is needed at some point too, but only to
> > > relax the alignment to not force all early allocations to be page
> > > padded.
> >
> > No, my patch doesn't force all early allocations to be page padded.
> > for find_e820_mem, i just change PAGE_ALIGN to be aligned align
> > parameter....
> 
> They are already all PAGE_ALIGN()ed (which is too strict, but needs
> some care to fix properly), but your patch uses it the wrong way.
> The PAGE_ALIGNment was added some time ago to avoid such over
> lapping, but it should not actually be needed for that anymore.
> 
> >
> > only make early_node_mem have aligned data. because it seems it like
> > to...and assume that.
> 
> Using alignment doesn't seem the correct way to avoid overlapping.
> 
> If there is still overlap then some reservation needs to be extended.
> 
> > I think your patch will get early panic about overlap between bss and
> > bootmem... like the 256g machine, bss is overlapped with early page
> > table...
> 
> Well did you test it? 
> 
> bss should have been reserved by this line in head64.c 
> 
>         reserve_early(__pa_symbol(&_text), __pa_symbol(&_end));
> 
> (in git-x86). In earlier kernels it was checked for explicitely by the e820 
> allocator.

no early panic. but the bss end still get corrupted.

because bootmap_start is used as <<PAGE_SHIFT, and it is overlapped with bss tail page.

YH

  reply	other threads:[~2008-01-30  3:07 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200801290053.45776.yinghai.lu@sun.com>
2008-01-29  9:05 ` [PATCH 2/2] x86_64: make early_node_mem return align address Yinghai Lu
2008-01-29  9:33   ` Andi Kleen
2008-01-29 17:41     ` Yinghai Lu
2008-01-30  2:55       ` Andi Kleen
2008-01-30  3:24         ` Yinghai Lu [this message]
2008-01-29 18:08   ` Yinghai Lu
2008-01-29  9:05 ` [PATCH 1/2] print out node_data addr and bootmap_start addr Yinghai Lu
     [not found]   ` <20080201170908.GB2159@elte.hu>
2008-02-01 21:29     ` [PATCH] x86_64: mark x86_cpu_to_node_map_init to __initdata like other xx_init Yinghai Lu

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=200801291924.33406.yinghai.lu@sun.com \
    --to=yinghai.lu@sun.com \
    --cc=ak@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=clameter@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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.