[发明专利]基于CMA实现支持大内存连续分配的内存管理方法及系统有效
| 申请号: | 202110775973.2 | 申请日: | 2021-07-08 |
| 公开(公告)号: | CN113535392B | 公开(公告)日: | 2023-07-11 |
| 发明(设计)人: | 张文喆;卢凯;王睿伯;迟万庆;董勇;张伟;邬会军;吴振伟;谢旻;周恩强;李佳鑫;张于舒晴 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F12/02 |
| 代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
| 地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 cma 实现 支持 内存 连续 分配 管理 方法 系统 | ||
1.一种基于CMA实现支持大内存连续分配的内存管理方法,其特征在于,包括:
1)面向加速器建立全局位图all_bitmap;
2)将连续内存分配模块CMA中各个分散的cma区域zone1~zonen的位图bitmap映射到全局位图all_bitmap中,将全局位图all_bitmap作为面向加速器进行大内存连续分配的节点node0,形成内存、cma区域、节点node0三者构成的内存页-cma区域-节点层级组织结构以组织全局可连续访问的连续物理页面;
3)当需要分配连续物理页面时,基于全局位图all_bitmap分配连续物理页面,且在完成分配后更新全局位图all_bitmap中的连续物理页面的分配状态;当需要释放连续物理页面时,则释放连续物理页面,并更新被释放连续物理页面在全局位图all_bitmap中状态为未分配状态以供备用;
步骤3)中分配连续物理页面的步骤包括:
接收到用户对分配连续物理页面接口cmt_malloc的第一调用请求,所述第一调用请求中包含所需页面数count;
通过内存分配器Hoard接收第一调用请求,转换并发起对内存分配器Hoard中的分配连续物理页面接口mt_malloc的第二调用请求以进入底层分配流程;
通过DMA模块接收第二调用请求,转换并发起对DMA模块中的分配连续物理页面接口cont_malloc的第三调用请求以进入连续内存分配流程;
通过连续内存分配模块CMA接收第三调用请求,转换并执行连续内存分配模块CMA中的连续物理页面分配函数_cont_malloc;所述连续物理页面分配函数_cont_malloc首先通过预设的起始页框号查找函数find_base_pfn查找全局位图all_bitmap获取空闲物理页面的起始页框号pfn,然后根据查找得到的起始页框号pfn和所需页面数count向用于分配物理页面的伙伴系统发出分配物理页面请求以通过伙伴系统执行具体的物理页面分配;
步骤3)中释放连续物理页面的步骤包括:
接收到用户对释放连续物理页面接口cmt_free的第四调用请求;
通过内存释放器Hoard接收第四调用请求,转换并发起对内存释放器Hoard中的释放连续物理页面接口mt_free的第五调用请求以进入底层释放流程;
通过DMA模块接收第五调用请求,转换并发起对DMA模块中的释放连续物理页面接口cont_free的第六调用请求以进入连续内存释放流程;
通过连续内存分配模块CMA接收第六调用请求,转换并执行连续内存分配模块CMA中的连续物理页面释放函数_cont_free;所述连续物理页面释放函数_cont_free向用于释放物理页面的伙伴系统发出释放物理页面请求以通过伙伴系统执行具体的物理页面释放。
2.根据权利要求1所述的基于CMA实现支持大内存连续分配的内存管理方法,其特征在于,步骤3)之前还包括为加速器预先预取指定大小的连续物理页面到内存缓冲池的步骤,步骤3)中基于全局位图all_bitmap分配连续物理页面是指基于全局位图all_bitmap从预取到内存缓冲池的连续物理页面中分配连续物理页面。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110775973.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于新型高效生化膜污水处理的机织物
- 下一篇:一种电连接器及电子设备





