请教关于smp系统中tlb刷新的一个问题
时间:2010-08-23
来源:互联网
看情景分析第9章smp系统,其中说到内核线程一般是不需要冲刷tlb的,因为内核代码不会被换出,而且内核线程一般不会访问用户空间,因此如果一个内核线程接收到tlb冲刷的中断只会进入lazy tlb模式,从而忽略以后所有的tlb冲刷指令。
但是书中也提到,如果有以下几种情况,内核线程的页面映射也是会改变的:1.vmalloc, 2.kmap, 3.外设总线有关的映射。那么这三种情况发生的话是如何通知内核线程冲刷tlb的呢?我好像没有找到相关代码。
望知情者告知!
但是书中也提到,如果有以下几种情况,内核线程的页面映射也是会改变的:1.vmalloc, 2.kmap, 3.外设总线有关的映射。那么这三种情况发生的话是如何通知内核线程冲刷tlb的呢?我好像没有找到相关代码。
望知情者告知!
作者: peimichael 发布时间: 2010-08-23
自己想到了,似乎是这样的。因为内核空间使用的页表是一样的,因此在vmalloc等操作的时候只操作init_mm的页表,当内核线程访问虚拟地址发生缺页才会把init_mm的页表复制给当前内核线程,而冲刷tlb也是这个时候完成的。
作者: peimichael 发布时间: 2010-08-23
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28