【发布时间】:2012-02-01 12:40:09
【问题描述】:
虚拟内存 I:问题 [LWN.net] http://lwn.net/Articles/75174/
特别是,硬件的地址转换缓冲区可以在内核和用户空间之间共享。
我对此感到非常困惑。为什么他们可以在 vm 拆分时共享 TLB?我知道某些 CPU 中有页面全局位
表示TLB条目对不同进程是通用的,不需要刷新。
TLB和vm split 3G/1G是什么关系?请详细评论。提前致谢。
更新:为什么不使用页面全局位来指示TLB条目被OS(内核空间)使用?如果是这样,为什么还需要拆分 vm 空间?示例:TLB 中有两个条目(vm 班轮地址相同),但其中一个设置了全局位。 ?当上下文切换时,只需刷新未设置全局位的条目。这可能吗?
Update2:我查看了intel-ia-32架构软件开发手册,发现TLB条目中没有全局位(存在于PDE和PTE中)。但是上下文切换时,CPU如何判断TLB entry global bit set or unset呢?
【问题讨论】:
标签: linux memory-management linux-kernel