[PATCH] x86_64: make reserve_bootmem_generic to use new reserve_bootmem
[PATCH] mm: make reserve_bootmem can crossed the nodes
provides new resever_bootmem, let reserve_bootmem_generic use that.
acctualy reserve_bootme_generic is used to reserve initramdisk.
so we can make sure even bootloader or kexec load that cross the nodes, reserve_bootmem
still works.
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Index: linux-2.6/arch/x86/mm/init_64.c
===================================================================
--- linux-2.6.orig/arch/x86/mm/init_64.c
+++ linux-2.6/arch/x86/mm/init_64.c
@@ -648,7 +648,7 @@ void free_initrd_mem(unsigned long start
void __init reserve_bootmem_generic(unsigned long phys, unsigned len)
{
#ifdef CONFIG_NUMA
- int nid = phys_to_nid(phys);
+ int nid, next_nid;
#endif
unsigned long pfn = phys >> PAGE_SHIFT;
@@ -667,10 +667,14 @@ void __init reserve_bootmem_generic(unsi
/* Should check here against the e820 map to avoid double free */
#ifdef CONFIG_NUMA
+ nid = phys_to_nid(phys);
+ next_nid = phys_to_nid(phys + len - 1);
+ if (nid == next_nid)
reserve_bootmem_node(NODE_DATA(nid), phys, len, BOOTMEM_DEFAULT);
-#else
- reserve_bootmem(phys, len, BOOTMEM_DEFAULT);
+ else
#endif
+ reserve_bootmem(phys, len, BOOTMEM_DEFAULT);
+
if (phys+len <= MAX_DMA_PFN*PAGE_SIZE) {
dma_reserve += len / PAGE_SIZE;
set_dma_reserve(dma_reserve);
--
| Junio C Hamano | [ANNOUNCE] GIT 1.6.0 |
| Linus Torvalds | Re: [ANNOUNCE] mdb: Merkey's Linux Kernel Debugger 2.6.27-rc4 released |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Paul Menage | Re: [RFC][PATCH 6/7] Account for the number of tasks within container |
git: | |
| Nicolas Pitre | Re: pack operation is thrashing my server |
| Scott Chacon | Git Community Book |
| Greg KH | Re: [ANNOUNCE] pg - A patch porcelain for GIT |
| Lars Hjemli | [PATCH] git-merge: add option --no-ff |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Nick Guenther | Re: Real men don't attack straw men |
| Travers Buda | Re: Important OpenBSD errata |
| Gregory Edigarov | How to re-build openssl with SHA1 support? |
| Al Boldi | [RFC] VM: I have a dream... |
| Dave Kleikamp | Re: [RFC] Heads up on sys_fallocate() |
| Jörn | Review status (Re: [PATCH] LogFS take three) |
| Chris Mason | [ANNOUNCE] Btrfs v0.12 released |
