--- zzzz-none-000/linux-2.6.28.10/mm/page_alloc.c 2009-05-02 18:54:43.000000000 +0000 +++ puma5-6360-529/linux-2.6.28.10/mm/page_alloc.c 2010-03-09 12:51:36.000000000 +0000 @@ -447,6 +447,7 @@ break; /* Our buddy is free, merge with it and move up one order. */ + /*--- printk(KERN_ERR "[%s/%s/%d] : buddy = 0x%p\n", __FUNCTION__, __FILE__, __LINE__, buddy); ---*/ list_del(&buddy->lru); zone->free_area[order].nr_free--; rmv_page_order(buddy); @@ -1091,6 +1092,9 @@ page = list_entry(pcp->list.next, struct page, lru); } + /*--- if(((unsigned int)page < mem_map) || ((unsigned int)page > &mem_map[4096])) { ---*/ + /*--- printk(KERN_ERR "[%s/%s/%d] : page->lru = 0x%p\n", __FUNCTION__, __FILE__, __LINE__, page->lru); ---*/ + /*--- } ---*/ list_del(&page->lru); pcp->count--; } else { @@ -1745,7 +1749,7 @@ unsigned long alloc_end = addr + (PAGE_SIZE << order); unsigned long used = addr + PAGE_ALIGN(size); - split_page(virt_to_page(addr), order); + split_page(virt_to_page((void *)addr), order); while (used < alloc_end) { free_page(used); used += PAGE_SIZE; @@ -2433,7 +2437,9 @@ void build_all_zonelists(void) { + printk("entering build_all_zonelists()\n"); set_zonelist_order(); + printk("return from set_zonelist_order()\n"); if (system_state == SYSTEM_BOOTING) { __build_all_zonelists(NULL);