+ -
当前位置:首页 → 问答吧 → buddy算法初始化的一点点疑惑

buddy算法初始化的一点点疑惑

时间:2010-08-23

来源:互联网

再从bootmem allocator释放内存的时候,有下面一段代码:
void fastcall __init __free_pages_bootmem(struct page *page, unsigned int order)
{
        if (order == 0) {
                __ClearPageReserved(page);

                set_page_count(page, 0);   //设置page->_count = 0
                set_page_refcounted(page); //设置page->_count = 1
                __free_page(page);
.... .....
}
为什么要先把page的引用计数设置为0,然后在设置成1啊?

作者: liujunwei1234   发布时间: 2010-08-23

set_page_count(page, 0); 和set_page_refcounted(page);分别是原子操作会不会有问题呢?

作者: kgn28   发布时间: 2010-08-24