PowerPcLinux内存管理优化设想.doc_第1页
PowerPcLinux内存管理优化设想.doc_第2页
PowerPcLinux内存管理优化设想.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PowerPC Linux 内存管理优化设想作者:harvey wang 邮箱:新浪博客地址:/harveyperfect ,有关于减肥和学习英语相关的博文,欢迎交流1、总体概述我们都知道在PowerPC处理器e500系列内核MMU单元分为两级结构,L1和L2。L1 包括I-L1VSP、I-L1TLB4K、D-L1VSP、D-L1TLB4K(前缀I指示指令,D指示数据。后缀VSP指示可以变大小页,TLB4K指示固定大小页,4Kbyte大小)。即在L1中指令和数据的页转换模块是独立的。L2中包括TLB1和TLB0,其中TLB1为可变大小的页,TLB0为固定大小的页(4Kbyte)。指令和数据共用L2的MMU模块。L1的页转换模块是L2页转换模块的cache。具体说L1 的I-L1VSP和D-L1VSP 是L2的TLB1的cache;L1的I-L1TLB4K和D-L1TLB4K是L2 TLB0的cache。如下图所示图1 e500mc MMUL2的TLB1和TLB0是用户可操作的,而L1模块是由硬件维护的,对用户透明。2、Linux基于e500V1 内存管理在PowerPC e500 V1 MMU中有16个L2 TLB1 条目,页大小可以设置为4K、16K、64K、256K 256M。有256个TLB0 条目,每个固定4K大小。L2 TLB1和TLB0是实现相同功能,在虚实地址转换时只要在其中之一找到对应的映射关系即可。它们之间的区别仅在于一次映射的区域大小的不同。Linux PowerPC 使用TLB1 进行虚拟地址的段式映射,采用段式映射可以直接使用硬件提供的TLB1查找表,可以一次映射较大区域(可达256MB),从而减少缺页故障次数,其虚实地址转换效率高。但在e500V1 TLB1中的条目有限,仅16个,Linux PowerPC不可能使用TLB1完成所有的虚实转换。Linux PowerPC 使用的内核空间的虚实地址转换是由段式映射完成的,即32位系统中4G空间的高端1G,0xc000-00000xffff-ffff。而32位系统中4G空间的低3G(0x000-00000xbfff-ffff)空间是采用页式映射。TLB0中一共有256个entry,每个4Kbyte,只能映射1Mbyte的空间。即使已经给某进程的虚拟空间分配了实际的物理页面,也会经常产生TLB miss 异常。尤其是操作系统中进程调度频繁,每次调度进程都要无效掉整个TLB0,产生很多的TLB miss。这样应该会比较影响系统的性能。3、e500mc MMU介绍Freescale 的多核处理,如P4080采用的内核是e500mc的内核,其MMU的架构和e500V1相同。在e500mc MMU中TLB1的条目增加到了64个,单个条目最大支持到4GB。TLB0条目增加到512个,同一时刻可以映射2MB空间。如图1所示。4、基于e500mc MMU 的Linux 内存管理优化设想在e500mc内核中,TLB1的条目增加到了64个。是否可以把其中的8个或4个划分给用户空间使用,在进程创建或要被调度运行时,把分配给进程的代码空间、数据空间等物理地址连续的较大空间的映射关系填充到TLB1的entity中。当然,能使用段式映射的需要满足物理空间连续,且地址边界段对齐,如要映射1MB的空间,其虚拟地址和物理地址至少都要1MB边界对齐。如果进程的虚拟地址2M边界对齐,而实际分配的物理地址空间是1MB地址对齐,此时只能使用1MB映射区域,当然可以使用多个1MB的映射区。以此类推。这种设想方式可能导致一个进程的代码段会同时使用段式映射和页式映射。大段的地址边界整齐(虚拟地址和物理地址都要边界对齐)的部分采用段式映射,其他区域采用页式映射。如果内核中创建进程部分内核代码模块能考虑到这种优化的话,在给进程分配大段的虚拟空间和物理空间时尽量做到一定的边界对齐的话。这种内存管理优化的方式应该能提高不少的性能。这可能需要对内核代码有不少的改动。请各位高手评价一下这种设想的方式是否可行?参考文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论