From: Yinghai Lu <yhlu.kernel@gmail.com>
To: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
Andrew Morton <akpm@linux-foundation.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [PATCH] x86: change propagate_e820_map back to find_max_pfn -32bit -v2
Date: Mon, 2 Jun 2008 19:16:48 -0700 [thread overview]
Message-ID: <200806021916.49103.yhlu.kernel@gmail.com> (raw)
In-Reply-To: <200805312252.47727.yhlu.kernel@gmail.com>
we don't need to call memory_present that early.
numa dist and sparse will call memory_present later
and even fail, it will call memory_present for all range.
v2: add memory_present calling for sparse and non numa
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Index: linux-2.6/arch/x86/kernel/e820_32.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/e820_32.c
+++ linux-2.6/arch/x86/kernel/e820_32.c
@@ -210,7 +210,7 @@ void __init init_iomem_resources(struct
/*
* Find the highest page frame number we have available
*/
-void __init propagate_e820_map(void)
+void __init find_max_pfn(void)
{
int i;
@@ -227,7 +227,6 @@ void __init propagate_e820_map(void)
continue;
if (end > max_pfn)
max_pfn = end;
- memory_present(0, start, end);
}
}
@@ -361,7 +360,7 @@ static int __init parse_memmap(char *arg
* size before original memory map is
* reset.
*/
- propagate_e820_map();
+ find_max_pfn();
saved_max_pfn = max_pfn;
#endif
e820.nr_map = 0;
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
@@ -378,11 +378,13 @@ static unsigned long __init setup_memory
if (max_pfn > max_low_pfn) {
highstart_pfn = max_low_pfn;
}
+ memory_present(0, 0, highend_pfn);
printk(KERN_NOTICE "%ldMB HIGHMEM available.\n",
pages_to_mb(highend_pfn - highstart_pfn));
num_physpages = highend_pfn;
high_memory = (void *) __va(highstart_pfn * PAGE_SIZE - 1) + 1;
#else
+ memory_present(0, 0, max_low_pfn);
num_physpages = max_low_pfn;
high_memory = (void *) __va(max_low_pfn * PAGE_SIZE - 1) + 1;
#endif
@@ -742,10 +744,10 @@ void __init setup_arch(char **cmdline_p)
efi_init();
/* update e820 for memory not covered by WB MTRRs */
- propagate_e820_map();
+ find_max_pfn();
mtrr_bp_init();
if (mtrr_trim_uncached_memory(max_pfn))
- propagate_e820_map();
+ find_max_pfn();
max_low_pfn = setup_memory();
Index: linux-2.6/arch/x86/mm/discontig_32.c
===================================================================
--- linux-2.6.orig/arch/x86/mm/discontig_32.c
+++ linux-2.6/arch/x86/mm/discontig_32.c
@@ -120,7 +120,7 @@ int __init get_memcfg_numa_flat(void)
printk("NUMA - single node, flat memory mode\n");
/* Run the memory configuration and find the top of memory. */
- propagate_e820_map();
+ find_max_pfn();
node_start_pfn[0] = 0;
node_end_pfn[0] = max_pfn;
memory_present(0, 0, max_pfn);
Index: linux-2.6/include/asm-x86/e820_32.h
===================================================================
--- linux-2.6.orig/include/asm-x86/e820_32.h
+++ linux-2.6/include/asm-x86/e820_32.h
@@ -21,7 +21,7 @@
extern void setup_memory_map(void);
extern void finish_e820_parsing(void);
-extern void propagate_e820_map(void);
+extern void find_max_pfn(void);
extern void register_bootmem_low_pages(unsigned long max_low_pfn);
extern void limit_regions(unsigned long long size);
extern void init_iomem_resources(struct resource *code_resource,
next prev parent reply other threads:[~2008-06-03 2:17 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-11 7:30 [PATCH] x86: make e820.c to have common functions Yinghai Lu
2008-05-13 13:05 ` Ingo Molnar
2008-05-13 17:35 ` Yinghai Lu
2008-05-18 8:18 ` [PATCH] x86: extend e820 ealy_res support 32bit Yinghai Lu
2008-05-21 3:10 ` [PATCH] x86: move e820_mark_nosave_regions to e820.c Yinghai Lu
2008-05-22 1:40 ` [PATCH] x86: extend e820 ealy_res support 32bit - fix Yinghai Lu
2008-05-22 10:12 ` Jeremy Fitzhardinge
2008-05-22 17:58 ` Yinghai Lu
2008-05-22 22:20 ` [PATCH] x86: extend e820 ealy_res support 32bit - fix v2 Yinghai Lu
2008-05-23 23:08 ` Yinghai Lu
2008-05-23 23:32 ` Jeremy Fitzhardinge
2008-05-23 23:38 ` Jeremy Fitzhardinge
2008-05-24 0:01 ` Yinghai Lu
2008-05-24 0:09 ` Yinghai Lu
2008-05-24 8:54 ` Jeremy Fitzhardinge
2008-05-24 9:49 ` [PATCH] xen: boot via i386_start_kernel to get early reservations Jeremy Fitzhardinge
2008-05-24 22:04 ` Yinghai Lu
2008-05-24 19:57 ` [PATCH] x86: extend e820 ealy_res support 32bit - fix v2 Yinghai Lu
2008-05-25 17:00 ` [PATCH] x86: extend e820 ealy_res support 32bit - fix #2 Yinghai Lu
2008-05-27 15:44 ` Thomas Gleixner
2008-05-27 20:37 ` Jeremy Fitzhardinge
2008-05-27 20:58 ` Thomas Gleixner
2008-05-27 21:06 ` Jeremy Fitzhardinge
2008-05-27 21:06 ` Yinghai Lu
2008-05-27 21:22 ` Jeremy Fitzhardinge
2008-05-27 21:35 ` Yinghai Lu
2008-05-27 21:47 ` Jeremy Fitzhardinge
2008-05-27 22:52 ` Yinghai Lu
2008-05-28 10:01 ` Jeremy Fitzhardinge
2008-05-28 20:48 ` Yinghai Lu
2008-05-28 21:24 ` Jeremy Fitzhardinge
2008-05-29 13:37 ` Jeremy Fitzhardinge
2008-05-29 18:41 ` Yinghai Lu
2008-05-29 18:58 ` H. Peter Anvin
2008-05-29 18:52 ` Yinghai Lu
2008-05-29 19:14 ` Yinghai Lu
2008-05-30 15:50 ` Jeremy Fitzhardinge
2008-05-29 19:56 ` [PATCH] x86: extend e820 early_res support 32bit -fix #3 Yinghai Lu
2008-05-29 19:57 ` [PATCH] x86: extend e820 early_res support 32bit -fix #4 Yinghai Lu
2008-05-29 19:58 ` [PATCH] x86: extend e820 early_res support 32bit -fix #5 Yinghai Lu
2008-05-29 23:25 ` [PATCH] x86: 32bit numa srat fix early_ioremap leak Yinghai Lu
2008-05-31 8:01 ` Ingo Molnar
2008-06-01 5:51 ` [PATCH] x86: 32bit numa increase max_elements to 1024 Yinghai Lu
2008-06-01 5:52 ` [PATCH] x86: change propagate_e820_map back to find_max_pfn -32bit Yinghai Lu
2008-06-01 5:53 ` [PATCH] x86: set node_remap_size[0] in fallback path Yinghai Lu
2008-06-01 5:56 ` [PATCH] x86: numa_32 print out debug info all kva Yinghai Lu
2008-06-01 20:15 ` [PATCH] x86: numa_32 print out debug info all kva v2 Yinghai Lu
2008-06-03 2:16 ` Yinghai Lu [this message]
2008-06-02 4:06 ` [PATCH] x86: numa_32 avoid clash between ramdisk and kva Yinghai Lu
2008-06-02 6:53 ` [PATCH] x86: cleanup max_pfn_mapped usage - 32bit Yinghai Lu
2008-06-02 6:55 ` [PATCH] x86: cleanup max_pfn_mapped usage - 64bit 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=200806021916.49103.yhlu.kernel@gmail.com \
--to=yhlu.kernel@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--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 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.