hi all: I have several questions about free_all_bootmem_core: 1. In __free_pages_bootmem, we set set_page_count(p, 0) while looping nr_pages, why we need to set_page_refcounted(page) before calling __free_pages? 2. how about the pages that allocated by calling alloc_bootmem_xxxx? in free_all_bootmem, we just free the pages that used to record bootmem stage present pages like below. if so, isn't possible the pages got by calling alloc_bootmem_xxxx will be over-written by later page allocation ? page = virt_to_page(bdata->node_bootmem_map); pages = bdata->node_low_pfn - bdata->node_min_pfn; pages = bootmem_bootmap_pages(pages); count += pages; while (pages--) __free_pages_bootmem(page++, 0); appreciate your kind help in advance, -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>