From: David Miller <davem@davemloft.net>
To: mikpe@it.uu.se
Cc: sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [BUG] 2.6.26-rc1 lost half the RAM on UltraSPARC 5
Date: Wed, 14 May 2008 23:11:11 -0700 (PDT) [thread overview]
Message-ID: <20080514.231111.107604885.davem@davemloft.net> (raw)
In-Reply-To: <18473.60551.911448.98269@alkaid.it.uu.se>
From: Mikael Pettersson <mikpe@it.uu.se>
Date: Tue, 13 May 2008 21:31:19 +0200
Ok, Mikael, I think I figured out this bug:
> Found ramdisk at physical address 0x10800000, size 3683665
> lmb_dump_all:
> memory.cnt = 0x4
> memory.size = 0xff40000
> memory.region[0x0].base = 0x0
> .size = 0x8000000
> memory.region[0x1].base = 0x10000000
> .size = 0x7efe000
> memory.region[0x2].base = 0x17f00000
> .size = 0x3a000
> memory.region[0x3].base = 0x17f3e000
> .size = 0x8000
> reserved.cnt = 0x2
> reserved.size = 0x0
> reserved.region[0x0].base = 0x10000000
> .size = 0x35bf60
> reserved.region[0x1].base = 0x10800000
> .size = 0x10b83551
>From the very beginning your higher RAM is gone.
It's correct that some memory should be reserved,
for the ramdisk, but not 128MB :-)
The ramdisk is just under 4MB in size, so something is fishy here.
And indeed, I'm reserving the wrong length. Please try this
patch:
sparc64: Fix lmb_reserve() args in find_ramdisk().
This fixes the missing ram regression reported by
Mikael Pettersson <mikpe@it.uu.se>, much thanks for
all of this help in diagnosing this.
The second argument to lmb_reserve() is a size,
not an end address bounds.
Signed-off-by: David S. Miller <davem@davemloft.net>
---
arch/sparc64/mm/init.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c
index a9828d7..3c7b947 100644
--- a/arch/sparc64/mm/init.c
+++ b/arch/sparc64/mm/init.c
@@ -768,7 +768,7 @@ static void __init find_ramdisk(unsigned long phys_base)
initrd_start = ramdisk_image;
initrd_end = ramdisk_image + sparc_ramdisk_size;
- lmb_reserve(initrd_start, initrd_end);
+ lmb_reserve(initrd_start, sparc_ramdisk_size);
initrd_start += PAGE_OFFSET;
initrd_end += PAGE_OFFSET;
--
1.5.5.1.57.g5909c
next prev parent reply other threads:[~2008-05-15 6:11 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-07 18:36 Mikael Pettersson
2008-05-07 22:49 ` David Miller
2008-05-12 7:50 ` David Miller
2008-05-12 19:06 ` Mikael Pettersson
2008-05-12 21:03 ` David Miller
2008-05-12 22:31 ` David Miller
2008-05-12 22:36 ` David Miller
2008-05-12 22:39 ` David Miller
2008-05-13 19:31 ` Mikael Pettersson
2008-05-13 22:22 ` David Miller
2008-05-15 6:11 ` David Miller [this message]
2008-05-15 18:43 ` Mikael Pettersson
2008-05-15 20:30 ` Mikael Pettersson
2008-05-15 21:07 ` David Miller
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=20080514.231111.107604885.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mikpe@it.uu.se \
--cc=sparclinux@vger.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
all inboxes | Powered by JetHome®