--- memhotplug1-dave/mm/bootmem.c | 1 + memhotplug1-dave/mm/page_alloc.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff -puN mm/bootmem.c~Z0-bootmem_page_counts mm/bootmem.c --- memhotplug1/mm/bootmem.c~Z0-bootmem_page_counts 2004-11-04 18:16:20.000000000 -0800 +++ memhotplug1-dave/mm/bootmem.c 2004-11-04 18:16:42.000000000 -0800 @@ -289,6 +289,7 @@ static unsigned long __init free_all_boo if (j + 16 < BITS_PER_LONG) prefetchw(page + j + 16); __ClearPageReserved(page + j); + set_page_count(page + j, 0); } __free_pages(page, ffs(BITS_PER_LONG)-1); i += BITS_PER_LONG; diff -puN mm/page_alloc.c~Z0-bootmem_page_counts mm/page_alloc.c --- memhotplug1/mm/page_alloc.c~Z0-bootmem_page_counts 2004-11-04 18:16:20.000000000 -0800 +++ memhotplug1-dave/mm/page_alloc.c 2004-11-04 18:16:47.000000000 -0800 @@ -1824,7 +1824,7 @@ void __devinit memmap_init_zone(unsigned for (page = start; page < (start + size); page++) { set_page_zone(page, NODEZONE(nid, zone)); - set_page_count(page, 0); + set_page_count(page, 1); reset_page_mapcount(page); SetPageReserved(page); INIT_LIST_HEAD(&page->lru); _