From aee35fd19837d5aad2eed5cb274c60243008b3ee Mon Sep 17 00:00:00 2001 From: zhaoyanbai 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.55.0