一种基于hugetlbfs技术的龙芯刀片文件系统的实现方法技术方案

技术编号:7086886 阅读:454 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种基于hugetlbfs技术的龙芯刀片文件系统的实现方法,系统初始化时,函数hugetlb_init对文件系统初始化,由sys_open函数调用huget_creat为创建的文件分配内存索引节点,并进行文件初始化,由sys_mmap调用函数hugetlbls_file_mmap为应用进程建立映射;在内核中设置三级页表,每个基本分页单位为2MB,并通过内联函数pte_mkhuge设置页表项标志位来区分4KB物理页面和2MB虚拟页面。本发明专利技术采用特殊文件系统形式支持大页面的方式,使得应用程序可以根据需要灵活地选择虚存页面大小,而不会被强制使用2MB大页面。灵活支持了linux下的大页文件系统的实现,使得操作效率有效提高。

【技术实现步骤摘要】

本专利技术涉及操作系统大页文件系统的应用,具体来说,涉及一种基于hugetlbfs 技术的龙芯刀片文件系统的实现方法。
技术介绍
随着计算需求规模的不断增大,应用程序对内存的需求也越来越大。为了实现虚拟内存管理机制,操作系统对内存实行分页管理。自内存“分页机制”提出之始,内存页面的默认大小便被设置为4096字节GKB),虽然原则上内存页面大小是可配置的,但绝大多数的操作系统实现中仍然采用默认的4KB页面。龙芯刀片的系统目前也都是采用4KB大小的页面.由于龙芯刀片要广泛应用在信息化,高兴能领域,这些应用对内存需求量都比较大,由于其采用的默认页面大小为4KB,因而将会产生较多TLB Miss和缺页中断,从而大大影响应用程序的性能。当操作系统以2MB甚至更大作为分页的单位时,将会大大减少TLB Miss和缺页中断的数量,显著提高应用程序的性能。这也正是需要在龙芯刀片系统中引入大页面支持的直接原因。好处是很明显的,假设应用程序需要2MB的内存,如果操作系统以 4KB作为分页的单位,则需要512个页面,进而在TLB中需要512个表项,同时也需要512 个页表项,操作系统需要经历至少512次T本文档来自技高网...

【技术保护点】
1.一种基于hugetlbfs技术的龙芯刀片文件系统的实现方法,其特征在于:系统初始化时,函数hugetlb_init对文件系统初始化,由sys_open函数调用huget_creat为创建的文件分配内存索引节点,并进行文件初始化,由sys_mmap调用函数hugetlbfs_file_mmap为应用进程建立映射;在内核中设置三级页表,每个基本分页单位为2MB,并通过内联函数pte_mkhuge设置页表项标志位来区分4KB物理页面和2MB虚拟页面。

【技术特征摘要】

【专利技术属性】
技术研发人员:李丰旺郑臣明邵宗有刘新春杨晓君李永成尹宁宁
申请(专利权)人:曙光信息产业股份有限公司
类型:发明
国别省市:12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1