mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Yinghai Lu" <yhlu.kernel@gmail.com>
To: "Jeremy Fitzhardinge" <jeremy@goop.org>
Cc: "Ingo Molnar" <mingo@elte.hu>,
	"kernel list" <linux-kernel@vger.kernel.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: Suspected regression in "x86: extend e820 ealy_res support 32bit"
Date: Wed, 21 May 2008 15:40:56 -0700	[thread overview]
Message-ID: <86802c440805211540m4ff68aeh827a1f823305742b@mail.gmail.com> (raw)
In-Reply-To: <48349B9D.1000501@goop.org>

[-- Attachment #1: Type: text/plain, Size: 1764 bytes --]

On Wed, May 21, 2008 at 3:01 PM, Jeremy Fitzhardinge <jeremy@goop.org> wrote:
> Yinghai Lu wrote:
>>
>> On Wed, May 21, 2008 at 11:19 AM, Jeremy Fitzhardinge <jeremy@goop.org>
>> wrote:
>>
>>>
>>> I'm seeing a crash in current x86.git tip/auto-latest when booting under
>>> Xen.  The crash is rather early, but it's in __alloc_bootmem_core() in
>>> the
>>> final memset clear.  Apparently the allocator is returning a bad page.
>>>
>>> This points to changes in the setup of the bootmem allocator, and the
>>> changes "x86: extend e820 ealy_res support 32bit" make to
>>> arch/x86/kernel/setup_32.c:setup_bootmem_allocator() looks like the most
>>> likely suspect.  Unfortunately its a rather large patch which is not easy
>>> to
>>> revert, so I haven't actually confirmed this yet.
>>>
>>
>>
>> thanks. please check the attached patch
>>
>
> Thanks for the quick response.  I definitely confirmed that "x86: extend
> e820 ealy_res support 32bit" is the source of the regression, and reverting
> the change makes the system bootable under Xen. (My previous reversion
> failed because I didn't actually have the x86.git changes applied :-/)
>
> This patch generates the warning:
>
>     CC      arch/x86/kernel/setup_32.o
>   /home/jeremy/hg/xen/paravirt/linux/arch/x86/kernel/setup_32.c: In
>   function 'setup_arch':
>   /home/jeremy/hg/xen/paravirt/linux/arch/x86/kernel/setup_32.c:580:
>   warning: 'bootmap_size' is used uninitialized in this function
>
> but I think it's just that the panic() message still uses it before its
> assigned.
>
> Hm, and it also fails to fix the problem.  I'm still seeing the virtual
> machine crash in the same way.

noticed that bootmap_size is shifted already...

please use attached patch to see if bootmap is right...

YH

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: bootmap_32_fix.patch --]
[-- Type: text/x-patch; name=bootmap_32_fix.patch, Size: 903 bytes --]

[PATCH] x86: bootmap size fix for 32 bit

Jeremy Fitzhardinge found
x86: extend e820 ealy_res support 32bit
cause regression...

in setup_bootmem_allocator

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>

Index: linux-2.6/arch/x86/kernel/setup_32.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/setup_32.c
+++ linux-2.6/arch/x86/kernel/setup_32.c
@@ -577,6 +577,8 @@ void __init setup_bootmem_allocator(void
 	if (bootmap == -1L)
 		panic("Cannot find bootmem map of size %ld\n", bootmap_size);
 	bootmap_size = init_bootmem(bootmap >> PAGE_SHIFT, max_low_pfn);
+	printk(KERN_INFO "  bootmap [%016lx -  %016lx] min_low_pfn: %016x\n",
+		 bootmap, bootmap + bootmap_size - 1, min_low_pfn);
 	register_bootmem_low_pages(max_low_pfn);
 	early_res_to_bootmem(0, max_low_pfn<<PAGE_SHIFT);
 	reserve_bootmem(bootmap, bootmap_size, BOOTMEM_DEFAULT);

  reply	other threads:[~2008-05-21 22:41 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <483467CD.90401@goop.org>
2008-05-21 20:35 ` Yinghai Lu
2008-05-21 22:01   ` Jeremy Fitzhardinge
2008-05-21 22:40     ` Yinghai Lu [this message]
2008-05-21 23:23       ` Jeremy Fitzhardinge
2008-05-22  1:43         ` Yinghai Lu
2008-05-21 23:14   ` Johannes Weiner
2008-05-21 23:23     ` 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=86802c440805211540m4ff68aeh827a1f823305742b@mail.gmail.com \
    --to=yhlu.kernel@gmail.com \
    --cc=hpa@zytor.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    /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®