连续内存分配器
使能
数据结构
struct cma cma_areas[MAX_CMA_AREAS];
cma_init_reserved_mem(base, size, order_per_bit, name, res_cma)
cma
+---------------------------+
|count | number of pages
|available_count | = size >> PAGE_SHIFT
|order_per_bit | order_per_bit
| |
|nr_ranges | = 1
|ranges[CMA_MAX_RANGES] |
| (struct cma_memrange) |
| +----------------------+
| |base_pfn | = PFN_DOWN(base)
| |early_pfn | = PFN_DOWN(base)
| |count | = cma->count
| | |
| |bitmap |
| +----------------------+
| | |
| | |
+----+----------------------+初始化及过程
创建预留
分配
释放
使用的例子
Last updated