mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Amul Shah <amul.shah@unisys.com>
To: vgoyal@in.ibm.com
Cc: Andi Kleen <ak@suse.de>, LKML <linux-kernel@vger.kernel.org>,
	Fastboot mailing list <fastboot@lists.osdl.org>
Subject: Re: [RFC] [PATCH 2.6.19-rc4] kdump panics early in boot when   reserving MP Tables located in high memory
Date: Fri, 03 Nov 2006 14:47:57 -0500	[thread overview]
Message-ID: <1162583277.19677.108.camel@ustr-linux-shaha1.unisys.com> (raw)
In-Reply-To: <20061103171757.GC9371@in.ibm.com>

On Fri, 2006-11-03 at 12:17 -0500, Vivek Goyal wrote:
> On Fri, Nov 03, 2006 at 05:51:03PM +0100, Andi Kleen wrote:
> > 
> > [Finally dropping that annoying fastboot list from cc. Please never include any closed 
> > mailing lists in l-k posts. Thanks]
> > 
> > >   That won't worked because in arch/86_64/kernel/e820.c, the exactmap
> > > parsing clobbers end_pfn_map.
> > 
> > That's a bug imho. It shouldn't do that.
> > 
> > end_pfn_map should be always the highest address in e820 so that we 
> > can access all firmware tables safely.
> > 
> 
> Hi Andi,
> 
> end_pfn_map still contins the highest address in e820. The only difference
> is that it is reset and recalculated based on new memory map passed
> with the help of memmap= options. 

Andi, Vivek is right.  We can use end_pfn_map.  My observation is wrong.

> Actually with mempmap=exactmap, we are overriding the BIOS provided 
> memory map with a User defined memory map so we reset the end_pfn_map
> to zero and it will be calculated again based on new memory map passed
> with the help of memmap= options.
> 
> So to access all the firmware tables safely, one has to make sure that
> right memmap= options have been passed to the kernel.
> 
> That's why IMHO, the right way to fix this problem is not doing
> some special condition checks in kernel, instead, passing the right
> memmap= options. To do that kexec-tools has to know where the firmware
> tables are and that's why location of MP tables should be exported to 
> user space.

Vivek, the problem condition is in generic reserve_bootmem_core
(mm/bootmem.c), where this
	BUG_ON(PFN_DOWN(addr) >= bdata->node_low_pfn);
checks the target address against the top of that node's memory.

When I said:
> The ACPI tables and MP Tables reside higher in memory.  When reserving
> memory with reserve_bootmem_generic, the function has a BUG panic if the
> memory location to reserve is above the top of memory.  The MP table is
> above the top of memory in a user defined memory map.
I wasn't accurate.  I should have said that the top of memory as seen in
that function is the top of the memory for the node of usable memory.

Since the user defined map as passed in the kexec tools is accurate, we
do need the conditional check to avoid this problem.  I'm more than
happy to work in a second patch to export the MP table location to user
space for the kexec tools (the ES7000 will be a special case even for
that feature since the MP tables already reside in a reserved area).

thanks,
Amul


  reply	other threads:[~2006-11-03 19:49 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-02 22:24 Amul Shah
2006-11-02 23:36 ` [Fastboot] " Vivek Goyal
2006-11-03 14:30   ` Amul Shah
2006-11-03  2:40 ` Andi Kleen
2006-11-03 14:55   ` Amul Shah
2006-11-03 16:51     ` Andi Kleen
2006-11-03 17:17       ` Vivek Goyal
2006-11-03 19:47         ` Amul Shah [this message]
2006-11-03 19:52           ` Andi Kleen
2006-11-03 21:17             ` Amul Shah
2006-11-03 22:01               ` Andi Kleen
2006-11-03 17:40       ` Vivek Goyal
2006-11-03 18:43         ` Andi Kleen
2006-11-03 18:51           ` Vivek Goyal

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=1162583277.19677.108.camel@ustr-linux-shaha1.unisys.com \
    --to=amul.shah@unisys.com \
    --cc=ak@suse.de \
    --cc=fastboot@lists.osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vgoyal@in.ibm.com \
    /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

all inboxes | Powered by JetHome®