linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Andy Whitcroft <apw@shadowen.org>
To: jschopp@austin.ibm.com
Cc: akpm@osdl.org, anton@samba.org, haveblue@us.ibm.com,
	kravetz@us.ibm.com, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, linuxppc64-dev@ozlabs.org, olof@lixom.net,
	paulus@samba.org
Subject: Re: sparsemem ppc64 tidy flat memory comments and fix benign mempresent call
Date: Tue, 10 May 2005 16:45:48 +0100	[thread overview]
Message-ID: <4280D72C.4090203@shadowen.org> (raw)
In-Reply-To: <427FEC57.8060505@austin.ibm.com>

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

> Instead of moving all that around why don't we just drop the duplicate
> and the if altogether?  I tested and sent a patch back in March that
> cleaned up the non-numa case pretty well.
> 
> http://sourceforge.net/mailarchive/message.php?msg_id=11320001

Ok, Mike also expressed the feeling that it was no longer necessary to
handle the first block separatly.  I've tested the attached patch on the
machines I have to hand and it seems to boot just fine in the flat
memory modes with this applied.

Joel, Mike, Dave could you test this one on your platforms to confirm
its widly applicable, if so we can push it up to -mm.  The patch
attached applies to the patches proposed for the next -mm.  A full stack
on top of 2.6.12-rc3-mm2 can be found at the URL below (see the series
file):

http://www.shadowen.org/~apw/linux/sparsemem/sparsemem-2.6.12-rc3-mm2-V3/

Cheers.

-apw

[-- Attachment #2: sparsemem-ppc64-flat-first-block-is-not-special --]
[-- Type: text/plain, Size: 1664 bytes --]

Testing seems to confirm that we do not need to handle the first memory
block specially in do_init_bootmem.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>

diffstat sparsemem-ppc64-flat-first-block-is-not-special
---

diff -upN reference/arch/ppc64/mm/init.c current/arch/ppc64/mm/init.c
--- reference/arch/ppc64/mm/init.c
+++ current/arch/ppc64/mm/init.c
@@ -612,14 +612,6 @@ void __init do_init_bootmem(void)
 	unsigned long start, bootmap_pages;
 	unsigned long total_pages = lmb_end_of_DRAM() >> PAGE_SHIFT;
 	int boot_mapsize;
-	unsigned long start_pfn, end_pfn;
-	/*
-	 * Note presence of first (logical/coalasced) LMB which will
-	 * contain RMO region
-	 */
-	start_pfn = lmb.memory.region[0].physbase >> PAGE_SHIFT;
-	end_pfn = start_pfn + (lmb.memory.region[0].size >> PAGE_SHIFT);
-	memory_present(0, start_pfn, end_pfn);
 
 	/*
 	 * Find an area to use for the bootmem bitmap.  Calculate the size of
@@ -636,18 +628,19 @@ void __init do_init_bootmem(void)
 	max_pfn = max_low_pfn;
 
 	/* Add all physical memory to the bootmem map, mark each area
-	 * present.  The first block has already been marked present above.
+	 * present.
 	 */
 	for (i=0; i < lmb.memory.cnt; i++) {
 		unsigned long physbase, size;
+		unsigned long start_pfn, end_pfn;
 
 		physbase = lmb.memory.region[i].physbase;
 		size = lmb.memory.region[i].size;
-		if (i) {
-			start_pfn = physbase >> PAGE_SHIFT;
-			end_pfn = start_pfn + (size >> PAGE_SHIFT);
-			memory_present(0, start_pfn, end_pfn);
-		}
+
+		start_pfn = physbase >> PAGE_SHIFT;
+		end_pfn = start_pfn + (size >> PAGE_SHIFT);
+		memory_present(0, start_pfn, end_pfn);
+
 		free_bootmem(physbase, size);
 	}
 

  reply	other threads:[~2005-05-10 15:45 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-04 20:30 [3/3] sparsemem memory model for ppc64 Andy Whitcroft
2005-05-05  2:31 ` Olof Johansson
2005-05-05 17:37   ` Andy Whitcroft
2005-05-09 15:49     ` sparsemem ppc64 tidy flat memory comments and fix benign mempresent call Andy Whitcroft
2005-05-09 23:03       ` Joel Schopp
2005-05-10 15:45         ` Andy Whitcroft [this message]
2005-05-10 19:42           ` mike kravetz
2005-05-17 13:08           ` [PATCH] sparsemem-ppc64-flat-first-block-is-not-special Andy Whitcroft
2005-05-05 17:53 ` [3/3] sparsemem memory model for ppc64 mike kravetz

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=4280D72C.4090203@shadowen.org \
    --to=apw@shadowen.org \
    --cc=akpm@osdl.org \
    --cc=anton@samba.org \
    --cc=haveblue@us.ibm.com \
    --cc=jschopp@austin.ibm.com \
    --cc=kravetz@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc64-dev@ozlabs.org \
    --cc=olof@lixom.net \
    --cc=paulus@samba.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