Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Kernel v2.4.17-pre8 /mm/bootmem.c

Filename:/mm/bootmem.c
Lines Added:8
Lines Deleted:1
Also changed in: (Previous) 2.4.17-pre7  2.4.17-pre6  2.4.17-pre5  2.4.10  2.4.10-pre15  2.4.10-pre14 
(Following) 2.4.17-rc1  2.4.17-rc2  2.4.17  2.4.18-rc2-ac1  2.4.18-rc2-ac2  2.4.18-ac1 

Location
[  2.4.17-pre8
  [  mm
     o  bootmem.c

Patch

diff -Naur -X /home/marcelo/lib/dontdiff linux-2.4.16/mm/bootmem.c linux/mm/bootmem.c
--- linux-2.4.16/mm/bootmem.c   Mon Nov 26 10:35:00 2001
+++ linux/mm/bootmem.c   Thu Dec  6 15:41:46 2001
@@ -154,6 +154,12 @@
    if (align & (align-1))
       BUG();
 
+   offset = 0;
+   if (align &&
+       (bdata->node_boot_start & (align - 1UL)) != 0)
+      offset = (align - (bdata->node_boot_start & (align - 1UL)));
+   offset >>= PAGE_SHIFT;
+
    /*
     * We try to allocate bootmem pages above 'goal'
     * first, then we try to allocate lower pages.
@@ -165,6 +171,7 @@
       preferred = 0;
 
    preferred = ((preferred + align - 1) & ~(align - 1)) >> PAGE_SHIFT;
+   preferred += offset;
    areasize = (size+PAGE_SIZE-1)/PAGE_SIZE;
    incr = align >> PAGE_SHIFT ? : 1;
 
@@ -184,7 +191,7 @@
    fail_block:;
    }
    if (preferred) {
-      preferred = 0;
+      preferred = offset;
       goto restart_scan;
    }
    return NULL;


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.