`
longxj
  • 浏览: 105932 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

lazy TLB

阅读更多

当cpu运行一个kernel thread的时候,kernel会将cpu_tlbstate(这是个per-cpu变量)设为TLBSTATE_LAZY,这样当一个interprocessor interrrupt到达时,cpu将不会flush它的tlb ,直到cpu被切换到另一个普通进程,如果这个进程使用的page table 跟前一个进程不一样,则自然会flush TLB,如果这个进程跟前一个进程(也有可能就是前一个进程)使用的pagetable一样,则会flush 非全局tlb项。(也就是内核线性地址)
附注:kernel thread没有自己的page table,它使用的是上一个运行的进程的page table,之所以可以这样做,是因为kernel thread之会访问kernel线性地址,而不会访问user mode 下的线性地址。
2009/01/15 四

分享到:
评论

相关推荐

    进程切换分析(2):TLB处理.pdf

    在这一主题中,我们特别关注的是TLB(Translation Lookaside Buffer)的处理,这是一个硬件加速器,用于缓存虚拟地址到物理地址的映射,以提高内存访问速度。在进程切换时,如果不正确地处理TLB,可能会导致一个进程...

    进程切换分析(1):基本框架.pdf

    如果`mm`为空,表示`next`是一个内核线程,此时,内核线程会借用上一个进程`prev`的地址空间,并增加`oldmm`(即`prev->active_mm`)的引用计数,然后通过`enter_lazy_tlb`进入懒惰TLB模式。懒惰TLB模式意味着在内核...

    formatting:使用组合器安全地格式化字符串

    }import Formatting 您可能还需要其中一些或全部: import qualified Data.Text as Timport qualified Data.Text.Lazy as TLimport qualified Data.Text.Lazy.Builder as TLB 现在举一个简单的例子: > fo

    Linux2.6+slab内核缓冲区管理

    “Lazy Buddy”算法提高了free操作的性能,增强了硬件cache的利用率。最后,slab算法因其优秀的性能和效率而被广泛采用。slab的核心思想是对象缓存,对于那些不需要每次分配和释放时都调用构造和析构函数的对象,...

    linux内核缓冲区管理

    4. **Lazy Buddy** - **改进**:优化了Buddy System,在释放内存时提高效率,减少对cache的影响。 5. **Slab** - **起源**:90年代初Solaris 2.4采用Slab分配算法。 - **应用**:目前Linux内核广泛采用此算法...

    UNIX 高级教程系统技术内幕

    15.11 SVR4 和SVR4.2 UNIX 中的TLB 一致性 15.11.1 SVR4/MP 15.11.2 SVR4.2/MP 15.11.3 Lazy 击落算法 15.11.4 立即击落 15.11.5 讨论 15.12 其他TLB 一致性算法 15.13 虚地址缓存 l5.13.1 映射变化 15.13.2 地址...

    Linux内核缓冲区管理

    McKusic-Karels算法和Buddy System试图平衡内存分配和回收的效率以及TLB/cache的性能影响。而Lazy Buddy算法则旨在提高free()操作时的性能和硬件cache的利用率。 在设计对象缓存时,需要注意的两个原则是:对象属性...

    mw_rdp_Com.7z

    10. **延迟加载(Lazy Loading)** - 可以使用`[延迟加载]`特性,只有当真正使用到COM组件时才加载,提高应用程序启动速度。 这个压缩包"mw_rdp"可能包含的资源有:C#代码示例、COM组件的DLL或OCX文件、项目文件...

    微软内部资料-SQL性能优化2

    Contents Module Overview 1 Lesson 1: Memory 3 Lesson 2: I/O 73 Lesson 3: CPU 111 Module 3: Troubleshooting Server Performance ...Troubleshooting server performance-based support calls requires ...

Global site tag (gtag.js) - Google Analytics