From ff978ebd3d09c8dad3d24089dc9207ef3d9624c7 Mon Sep 17 00:00:00 2001 From: AceVest Date: Sat, 5 Apr 2014 23:40:41 +0800 Subject: [PATCH] fix bug in alloc pages --- mm/buddy.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mm/buddy.c b/mm/buddy.c index 1ce579f..934c7f4 100644 --- a/mm/buddy.c +++ b/mm/buddy.c @@ -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)); -- 2.44.0