[发明专利]基于亲和性感知的DMA缓冲区管理方法及装置有效
申请号: | 201210078365.7 | 申请日: | 2012-03-22 |
公开(公告)号: | CN102662891A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 程旭;钟祺;管雪涛;王晶 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28;G06F12/08 |
代理公司: | 常州市维益专利事务所 32211 | 代理人: | 路接洲 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 亲和性 感知 dma 缓冲区 管理 方法 装置 | ||
1.一种基于亲和性感知的DMA缓冲区管理方法,其特征在于,包括:
以亲和性的高低将缓冲区分为两类,并确定不同I/O处理过程对缓冲区亲和性的需求。
2.按照权利要求1所述的缓冲区管理方法,其特征在于,还包括:
使用纯软件的手段,在操作系统层来标识缓冲区的亲和性。
3.按照权利要求1或2所述的缓冲区管理方法,其特征在于:以输出处理过程的特点来标识低亲和性缓冲区,具体包括:
输出过程中,由于一致性维护操作后,处理器不再访问输出缓冲区,所以将最近释放的输出缓冲区记录为低亲和性。
4.按照权利要求1或2所述的缓冲区管理方法,其特征在于:以输入处理过程的特点来标识高亲和性缓冲区,具体包括:
当输入过程中,缓冲区释放前,处理器需要将输入缓冲区中的数据拷贝到用户缓冲区,所以将最近释放的输入缓冲区标识为高亲和性。
5.按照权利要求1或2所述的缓冲区管理方法,其特征在于:将不同亲和性的缓冲区集中管理,具体包括:
所有最近被释放的低亲和性缓冲区存放于低亲和性链表中,最近被释放的高亲和性缓冲区存放于高亲和性链表中。
6.按照权利要求1或2所述的缓冲区管理方法,其特征在于:针对不同亲和性的缓冲区采用不同的管理策略,具体包括:
对于高亲和性的缓冲区采用先进先出的管理策略,使高亲和性的缓冲区能尽快被重用,避免高亲和性缓冲区中的数据被挤出Cache;对于低亲和性的缓冲区采用后进先出的管理策略,使推迟低亲和性缓冲区被重用的时机,保证缓冲区中尽可能多的数据位于Cache之外。
7.一种基于亲和性感知的DMA缓冲区管理装置,其特征在于:包括缓冲区亲和性分析模块,缓冲区收集模块和缓冲区管理模块,其中:
缓冲区亲和性分析模块,用于分析系统中缓冲区亲和性的高低;高亲和性的缓冲区中的数据会大量占据Cache资源;而亲和性低的缓冲区中的数据会大量位于Cache之外;该模块将被释放缓冲区的亲和性信息传递给缓冲区收集模块;
缓冲区收集模块,用于收集被标了亲和性的缓冲区;其中高亲和性和低亲和性的缓冲区被分开存放,分别保存于两个不同的链表中,便于后续分配缓冲区时能够快速定位不同亲和性的缓冲区;缓冲区收集模块将链表中是否含有对应缓冲区的信息传递给缓冲区分配模块,供后续的分配过程进行决策;
缓冲区管理模块,用于给不同的I/O处理过程分配对应的缓冲区;其中,给输出过程分配亲和性较高的缓冲区,减少I/O处理过程的偏外存储访问;给输入过程分配亲和性较低的缓冲区,减少一致性维护操作的开销。
8.按照权利要求7所述的内存管理装置,其特征在于:所述缓冲区管理模块包括低亲和性缓冲区管理单元和高亲和性缓冲区管理单元,其中:
输入缓冲区分配单元,用于给输入过程分配缓冲区;对于输入过程,由对应的设备驱动程序向内存管理器提出分配请求,因此所有在驱动程序中分配的DMA缓冲区可以被标识为输入缓冲区;在分配输入缓冲区时,如果LAL链表非空,直接从该链表头部获取缓冲区;否则,使用默认的分配函数获取函数;在释放输入缓冲区时,如果HAL链表非满,将缓冲区插入链表头部;否则,使用默认的函数释放缓冲区;
输出缓冲区分配单元,用于给输出过程分配缓冲区;对于输出过程,在驱动程序以外的范围内申请的DMA缓冲区可以被标识为输出缓冲区;在分配输入缓冲区时,如果HAL链表非空,直接从该链表头部获取缓冲区;否则,使用默认的分配函数获取函数;在释放输入缓冲区时,如果LAL链表非满,将缓冲区插入链表尾部;否则,使用默认的函数释放缓冲区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210078365.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于吸烟物品的过滤器
- 下一篇:一种车载信息娱乐系统、方法及车载端