·ChinaUnix首页 ·论坛 ·博客 
Linux首页 | Linux新闻 | Linux论坛 | Linux文档 | Linux下载 | Linux博客 | Linux搜索 | 开源项目孵化平台 | 《开源时代》
新手入门 | 安装启动 | 管理员指南 | 开发手册 | 桌面应用 | 程序开发 | 数据库 | 网络技术| CentOS | Fedora | MySQL | Apache | Ubuntu | Gentoo| OSCON08
  Linux时代 >> 技术文档 >> 桌面应用
 
利用Machine State Word (MSW) Register 实现即时开关系统缓冲
来源: ChinaUnix博客  日期: 2006.03.10 05:44 (共有条评论) 我要评论
 
原载RTAI SPACE
http://justin8086.cublog.cn/
背景:
    开始对新写的实时CAN驱动做带干扰的Roundtrip测试,在测试时发现一个奇怪的现象:当连续进行Roundtrip 测试时,每次耗时照理说应该几乎是一样的(不然怎么是实时驱动?)可是事实上每次试验结果,耗时都是在连续测试大概20个样本之后就会有个100微秒左右的骤降。例如1Mbps码速率Roundtrip,前20个样本大概需要约146微秒完成一次,在骤降之后就会出现平稳的136左右的耗时。而在此之后的实时表现都非常理想,再没有大的波动。于是开始怀疑是系统缓冲的原因(CPU Caching),不然还真找不到其他的理由了。既然这样,如果禁用这些缓冲(包括L1,L2 两级缓冲)
原载RTAI SPACE
http://justin8086.cublog.cn/
实现方法:
    言归正传,现在我所知道的禁用缓冲的方法只有两种(希望能在以后补充):
1、在主板BIOS中设置。因为做测试用的SECO M570+VIA EDEN ESP 6000配置的BIOS没有设置缓冲的选项,所以要禁用缓冲似乎还不是很直接的事。
2、修改MSW,就是所谓的机器状态字。这一点好像还没人提过,因为MSW从第5位到第30位的含义都是不公开的,哪怕是很多关于intel的文档中也都是注明为“RESERVED”,我在其官方网站上也找过,不过没发现有更详尽的说明。事实上,对于缓冲的设置,修改MSW的第30位就可以实现。直接说白了,用0x4000000与MSW或运算,缓冲就被禁用了(disable caching);反之,将该位置零就启用了缓冲(enable caching)。哪怕是LINUX已经启动,我们也可以随时开关缓冲!
   不过到现在我还不能确定是否同时开关了L1,L2两级缓冲,抑或只是其中之一。
原载RTAI SPACE
http://justin8086.cublog.cn/
测试结果:
   关闭缓冲后(disable caching),整个系统反映马上慢了下来,小小一个ls都可以看出延迟。有兴趣的朋友可以试试。
原载RTAI SPACE
http://justin8086.cublog.cn/


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/11160/showart_83239.html
  发表评论 查看评论(共有条评论) 我要提问
 
 


最新资讯更多>> 
· 金山卫士开源计划首周源码下载..
· 谷歌劝说诺基亚采用Android操作..
· 11月份Linux市场占有率升至5%
· Apache 基金会确认退出 JCP 执..
· Chrome 10 新功能探秘:新增GP..
· 金山宣布开源其安全软件
· 开源FTP服务器ProFTPD发现后门
· 女黑客在开源会议上抱受骚扰
· 21款值得关注的Linux游戏
· 马化腾:腾讯半年后彻底转型,..
论坛热点更多>> 
· Linux系统移植从零开始!参与..
· 学习linux的意义在哪里
· 使用netfilter在哪能获取到原..
· 哥纠结了
· 一个在线读开源代码的工具,..
· 为什么我的目录下没有.cshrc..
· 初学linux从哪里开始
· linux 系统无法上网
· 新手安装UCenter 时总是出错..
· cacti添加主机显示的状态都是..
文档更新更多>> 
· 菜鸟入门三星ARM11嵌入式系统,是..
· 寻redhat 5.3 的中文手册 for ia64
· 请问redhat 5.3 企业版的用户手册..
· LINUX与UNIX SHELL编程指南(中文)
· 一些基本用户管理以及基本安装方法
· 菜鸟学习linux笔记与练习-----第..
· 菜鸟学习linux笔记与练习-----第..
· 服务器配置:Squid配置详解
· linux下u盘使用
· ubuntu dynamips 绑定网卡到虚拟机
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2009 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们

京ICP证:060528号