alloc_bootmem_low_pages()

来源:互联网 发布:国学大师软件下载 编辑:程序博客网 时间:2024/06/03 08:09
从ZONE_DMA分配x数量的字节
#define alloc_bootmem_low_pages(x) 
    __alloc_bootmem_node(NODE_DATA(
0), (x), PAGE_SIZE, 0)


void * __init __alloc_bootmem_node (pg_data_t *pgdat, unsigned long size, unsigned long align, unsigned long goal)
{
    
void *ptr;
    ptr 
= __alloc_bootmem_core(pgdat->bdata, size, align, goal);
    
if (ptr)
        
return (ptr);
    
return __alloc_bootmem(size, align, goal);
}


__alloc_bootmem_core()是所有API分配函数的核心。它是一个非常大的函数,因为它有很多可能出错的小步骤。该函数从goal地址开始,在线性范围内扫描一个足够大的内存空间以满足分配要求。



原创粉丝点击