All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Weiner <hannes@saeurebad.de>
To: "Yinghai Lu" <yhlu.kernel@gmail.com>
Cc: "Jeremy Fitzhardinge" <jeremy@goop.org>,
	"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: Thu, 22 May 2008 01:14:16 +0200	[thread overview]
Message-ID: <87lk232qt3.fsf@saeurebad.de> (raw)
In-Reply-To: <86802c440805211335q27334ba1g32a43fb1c0498b9b@mail.gmail.com> (Yinghai Lu's message of "Wed, 21 May 2008 13:35:40 -0700")

Hi,

"Yinghai Lu" <yhlu.kernel@gmail.com> writes:

> 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
>
> YH
>
> [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>
>
> diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c
> index f38d840..938c7b3 100644
> --- a/arch/x86/kernel/setup_32.c
> +++ b/arch/x86/kernel/setup_32.c
> @@ -566,17 +566,22 @@ static void __init relocate_initrd(void)
>  
>  void __init setup_bootmem_allocator(void)
>  {
> +	unsigned long bootmap_pages;
>  	unsigned long bootmap_size, bootmap;
>  	/*
>  	 * Initialize the boot-time allocator (with low memory only):
>  	 */
> -	bootmap_size = bootmem_bootmap_pages(max_low_pfn)<<PAGE_SHIFT;
> +	bootmap_pages = bootmem_bootmap_pages(max_low_pfn)<<PAGE_SHIFT;

Forgot to remove the shift?

>  	bootmap = find_e820_area(min_low_pfn<<PAGE_SHIFT,
> -				 max_low_pfn<<PAGE_SHIFT, bootmap_size,
> +				 max_low_pfn<<PAGE_SHIFT,
> +				 bootmap_pages<<PAGE_SHIFT,

Because this value is hardly sane anymore.

>  				 PAGE_SIZE);
>  	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] pages %lx\n",
> +		 bootmap, bootmap + bootmap_size - 1,
> +		 bootmap_pages);
>  	register_bootmem_low_pages(max_low_pfn);
>  	early_res_to_bootmem(0, max_low_pfn<<PAGE_SHIFT);
>  	reserve_bootmem(bootmap, bootmap_size, BOOTMEM_DEFAULT);

Besides, what did you want to accomplish?

	Hannes

  parent reply	other threads:[~2008-05-21 23:14 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 ` Suspected regression in "x86: extend e820 ealy_res support 32bit" Yinghai Lu
2008-05-21 22:01   ` Jeremy Fitzhardinge
2008-05-21 22:40     ` Yinghai Lu
2008-05-21 23:23       ` Jeremy Fitzhardinge
2008-05-22  1:43         ` Yinghai Lu
2008-05-21 23:14   ` Johannes Weiner [this message]
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=87lk232qt3.fsf@saeurebad.de \
    --to=hannes@saeurebad.de \
    --cc=hpa@zytor.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    --cc=yhlu.kernel@gmail.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 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.