]> Zhao Yanbai Git Server - kernel.git/commitdiff
fix bug in alloc pages
authorAceVest <zhaoyanbai@126.com>
Sat, 5 Apr 2014 15:40:41 +0000 (23:40 +0800)
committerAceVest <zhaoyanbai@126.com>
Sat, 5 Apr 2014 15:40:41 +0000 (23:40 +0800)
mm/buddy.c

index 1ce579f701263c2be3ceec7ca839e43609e5eb8a..934c7f46072b568726def0cbc2d1350e5042ea50 100644 (file)
@@ -62,7 +62,7 @@ found:
         size = 1UL << select_order;
 
         buddy = page + size;
-        list_add(&(page->lru), &(area->free_list)); 
+        list_add(&(buddy->lru), &(area->free_list)); 
         area->free_count++;
         buddy->private = select_order;
         SetPagePrivate(buddy);
@@ -150,6 +150,13 @@ void dump_buddy_system()
     }
 
 
+    printk("alloc 1 pages va 0x%08x\n", alloc_pages(0, 0));
+    printk("alloc 1 pages va 0x%08x\n", alloc_pages(0, 0));
+    printk("alloc 1 pages va 0x%08x\n", alloc_pages(0, 0));
+    printk("alloc 1 pages va 0x%08x\n", alloc_pages(0, 0));
+    printk("alloc 1 pages va 0x%08x\n", alloc_pages(0, 0));
+    printk("alloc 1 pages va 0x%08x\n", alloc_pages(0, 0));
+    printk("alloc 1 pages va 0x%08x\n", alloc_pages(0, 0));
     printk("alloc 1 pages va 0x%08x\n", alloc_pages(0, 0));
     printk("alloc 1 pages va 0x%08x\n", alloc_pages(0, 0));
     printk("alloc 2 pages va 0x%08x\n", alloc_pages(0, 1));