文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 招聘 专题 新闻
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» Linux & Advanced Application » 关于Linux内核补丁AMD旁路转换缓冲(TLB)错误的介绍       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: 关于Linux内核补丁AMD旁路转换缓冲(TLB)错误的介绍  ( 查看:167  回复:0 )   
 
redking
副版主  点击可查看详细


十二生肖之狗   双鱼座   行业勋章   技术勋章   诚信兄弟   中秋活动勋章  
帖子 2605
精华 0
无忧币 42356
积分 4310
阅读权限 140
来自 (保密)
注册日期 2006-7-11
最后登录 2008-7-6 在线

[查看资料]  [发短消息]  [Blog
[个人主页]    QQ       
发表于:2007-12-27 12:47   标题:关于Linux内核补丁AMD旁路转换缓冲(TLB)错误的介绍
上一帖 |
关于AMD的旁路转换缓冲(TLB)错误及其对四核皓龙芯片的影响上周已经有了很多报道,据国外媒体报道,AMD在为64位Red Hat企业版Linux即Upgrade 4准备一个内核补丁程序。和AMD的BIOS(基本输入输出系统)修复和微代码更新不同,据悉这些处理过程降低了10-20%的性能,据说Linux补丁程序对性能的损耗低于1%。然而,我们也了解到,用户为了获得该补丁程序必须签署一份保密协议。
情况被证实之后,AMD在x86-64.org邮件列表上公布了该补丁程序的源代码。然而,这些代码以现状为基准,不再进行修改,同时再次警告,提示它不完全适用于主流系统:

由于此补丁程序具有强大的入侵特性,而且受到影响的用户数非常少(如果你的部分系统受到影响,就会了解这一点),我们不推荐在常规的Linux系统上使 用此补丁程序。此补丁不是为主流用户而准备的,也不是用于销售的Linux产品!此补丁只接受过最小限度的功能性测试。每位用户在使用前必须对其进行评 估,以确保其能符合必要的质量标准。

在同一邮件列表上的一篇以前发表的文章中,AMD的员工Elsie Wahlig也提出警告,该补丁程序"不推荐应用于上游产品"。Wahlig提到,该补丁程序是由AMD的操作系统研究中心小组为Linux 2.6.23.8而开发的,并提供了一份详细的错误描述:

对错误298的描述如下:"处理器操作可能不是原子性的,在二级缓存中改变页面转换表项目中从0b到1b地址的被访问过的或脏字节。在一个细小的时间间隔 内,在修改过的复制数据返回二级缓存之前,其他缓存操作可能引起失效的页面转换表项目被安装在三级缓存中。另外,如果在该时间间隔期间检测到该缓存行,处 理器不会对该被访问过的或脏字节,以及可能发生错误的数据进行无关的缓存操作。系统可能会通过一次机器检测事件,报告发生了一次三级缓存协议错误。在这种 情况下,MC4状态寄存器(MSR 0000_0410)的内容将会是B2000000_000B0C0F或BA000000_000B0C0F。MC4地址寄存器(MSR 0000_0412)的内容将会是26h。"

Wahlig对Linux补丁程序的工作过程作了描述,该补丁程序也绕过了BIOS工作区并仿真"被访问过的和脏字节",以阻止错误数据建立文件头:

内核补丁解决方案取决于二级缓存迁出问题的根本原因。只有当TLB需要在一个页表项目中设置一个A或D位时,问题才暴露。如果TLB永远不需要设置一个A 或D位,错误则不会出现。通过使用当前的可写位对A和D位进行仿真,补丁程序将确保经常对实际的A和D位进行预设。当首次访问一个未对仿真A位进行设置的 页面时,并且当首次写访问一个未对仿真D位进行设置的可写页面时,通过对一个错误页面进行强制而完成该处理。仿真A和D位存储在位寄存器中,操作系统通常 可以在页表项目中取得它。

AMD以比最初预期更为委婉的说法,停止发行该补丁程序,但公司并没有给所有Linux用户发放"通行证",用来避免BIOS修复程序带来的性能损失。



“绿色IT 从我做起”圈子有奖活动
2007-12-27 12:471楼
[ 顶部 ]
     
论坛跳转:  

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号