Oliver Yang's blog

An OpenSolaris Developer

2009年03月22日

原创 PCI规范学习笔记(1)

 PCI规范学习笔记(1)PCI/PCIE配置空间按照寄存器的范围可以划分为两大部分。1. PCI Configuration Space在PCI规范中,这部分的寄存器范围是从偏移量[0-255],共256字节。PCI Configuration Space的寄存器,又可细分为以下两种类型,1.1 PCI Configuration Space HeaderPCI Configuration Space Header的范围是头64字节[0,63]。PCI Configuration Space Header分为type 0和type 1,type 1是专门给桥设备用的,type 0是给其它设备用的。两种类型首部的寄存器定义有相同的部分,规范中称之为Common Header,也有各自相区别的部分,详细内容请参考规范。不论是那种类型,只要确定了,那么它的格式就是确定的,是严格按照规范定义了的。1.2 PCI Capability ListPCI Capability List位于[64-255]区间范围。它可以被看做是一个由PCI Capability Item组成的一个链表阅读全文>

发表于 @ 2009年03月22日 00:07:00|评论(loading...)|举报|收藏

2009年02月06日

原创 OpenSolaris 2008.11 引导慢问题解决及build 106

在笔记本上安装OpenSolaris 2008.11已经三个月了,到目前为止,感觉良好。大概是因为长期使用开发版本的操作系统的缘故,对这个系统的bug的容忍度极高。但还是有一个问题让我忍无可忍,那就是系统引导的时候,速度极慢。打开笔记本,选好Grub的选项,出去泡杯茶回来,系统竟然还在引导。因为OpenSolaris默认是图形的引导,引导的过程都因为图片的显示而无法看到了。于是,干脆编辑Grub菜单,Graphic的选项删除掉。再引导的时候,速度飞快。时间从5分钟缩短到10秒以内。看来,Grub的Graphic的boot这块儿是有bug的,需要提交一个bug了。下面是我的Grub引导的设置,仅供参考,不同的机器和系统配置,可能需要稍作改动......阅读全文>

发表于 @ 2009年02月06日 23:23:00|评论(loading...)|举报|收藏

2009年01月20日

原创 升级OpenSolaris 2008.11到build 105

Crossbow终于在Solaris Nevada build 105发布了,这个月又宣布在OpenSolaris可用。目前OpenSolaris的发行版本默认使用的是release版本的软件仓库,因此升级到build 105需要使用开发版本的仓库,而且这个仓库是与Solaris Express保持同步的,也就是说,每个月都能得到最新版本OpenSolaris更新。下面的命令设置了我的OpenSolaris使用开发版本仓库,pfexec pkg set-authority -O http://pkg.opensolaris.org/devopensolaris.org设置后,就可以使用下面的命令来完成升级,pfexec pkg image-update因为访问美国的服务器较慢,所以设置了一下代理env http_proxy=http://xxx.xxx.xxx.xxx:8080 pfexec pkg image-update阅读全文>

发表于 @ 2009年01月20日 22:32:00|评论(loading...)|举报|收藏

2009年01月05日

原创 娱乐无处不在 - Sun工程师惊天发现:大吼可致硬盘潜伏期激增

早上各大开源网站的新闻里都有这么一条翻译过来的新闻 - ”Sun工程师惊天发现:大吼可致硬盘潜伏期激增“。 还有一段YouTube的视频,FISHworks实验室的工程师Brendan Gregg对着阵列大吼,然后在一台电脑的监测软件上观测到了明显的时延。 这条新闻的评论不少,说什么的都有,有相当多数人觉得很搞笑,甚至觉得这个Brendan Gregg很无聊。 中国有句俗语,内行看门道,外行看热闹。 看热闹的人的确不少,其实很多人并不了解这条新闻娱乐精神之外的技术内涵。 Sun的大牛,DE(Distinguished Engineer)、FISHworks的项目负责人Mike Shapiro在08年说过:“Sun Storage 7000系列的秘密武器就是FISHworks,它利用Solaris OS中的DTrace技术来更好地优化系统并以图形方式实时分析业务数据,这种优化和分析工作目前是非常耗时费力的。我们已经用全套工具简化了这些工作流 程,这些工具能够深入洞察可能出现的系统性能及其他潜在问题。这在业界是绝无仅有的。” 这话看起来有点虚,很抽象也很市场。其实,今天的这条新阅读全文>

发表于 @ 2009年01月05日 21:14:00|评论(loading...)|举报|收藏

2009年01月04日

原创 五周年记

今天是在S公司工作满五周年的日子。 五年前,从一个小公司的部门经理,变成一个大公司的螺丝钉;五年后,仍旧是螺丝钉一枚,不同的是从机器的这个部位换到了那个部位。 五年前,是QA Engineer,体重170斤;五年后,是Developer,体重146斤。 五年前,见到老外头就大,生怕自己滥竽充数的蹩脚口语被嘲笑;五年后,依旧是蹩脚的English,却可以厚着脸皮在电话里吵架。 五年前,On board那天,领到那个18寸带有大大的公司Logo的液晶显示器,觉得很爽;五年后,这些当初很酷的显示器要被当做电子垃圾来处理,大家都乐呵呵地把它们抱回家去,还是觉得很爽。 五年前,最久的工作时间是三年,以为那已经是我的极限;五年后,发现自己已经做了五年,没有厌烦的感觉,莫非自己就是在温水里待煮的那只青蛙? 五年前,第一次听到裁员的谣言,心里紧张,千万别裁到我;五年后,同样是裁员消息,心里坦然,裁了也不错,咱也拿个package。 两次换部门,四个不同的team,老板算算也有五个,有多少个五年前和五年后,心中便能生出多少个感慨来……阅读全文>

发表于 @ 2009年01月04日 13:42:00|评论(loading...)|举报|收藏

2008年12月26日

原创 安装Opensolaris 2008.11

Opensolaris 2008.11正式发布,赶紧拿来在自己的笔记本上安装,很想体验一下ZFS的Time Slider功能是如何的强大。 DELL Inspiron 1420 半年前曾经在1420上装过2008.05的版本,Live CD boot起来以后,结果失望的发现板载的100M网卡不支持,于是就没有继续安装下去。这大概也是Live CD的好处吧,不用浪费时间。不过不死心,还是去查了一下,发现有人提交bug了,看来用Dell的本子的人不少。再后来,这个bug竟然转到了我们组来做,一直以为100M的Broadcom应该是那个日本人Masa的驱动支持的,还发信问他。结果答复是,尽管是100M的PHY,不过还是和1000M MAC比较接近,最好还是bge来支持。 这次的2008.11安装还算顺利,Live CD boot起来后,网卡已经能识别,并且DHCP到了一个IP,接下来就一路Next,比较爽的就是ZFS是不需要给硬盘规划分区的,这一点竟然让很多人以为是个bug,经常看到bbs上有人问。看来,用户习惯改变起来可真不容易啊。 因为1420是独立显卡,OpenSolaris的阅读全文>

发表于 @ 2008年12月26日 21:43:00|评论(loading...)|举报|收藏

2008年11月30日

原创 Solaris Kernel Debugging - Mdb and DTrace

内核调试是内核开发实践中不可或缺的一环,尽可能写出正确的代码和快速解决代码中存在的问题同样重要。尤其是内核开发的特殊性,使得内核代码调试的复杂度要比应用程序高出很多。Solaris的Mdb和DTrace为内核开发人员提供了强大的调试功能,而且让内核的可观测性达到的其它操作系统前所未有的高度。 写这个幻灯片的时候,Solaris的DTrace已经release了很多年,成熟而又稳定。而Linux的Systemtap还问题重重,仍在主版本之外。DTtrace也许并不是最早的idea, 但它优雅的实现和其中包含的创新性,无可非议。目前DTrace已经被移植到FreeBSD,Mac OS 及Linux(注1)上。 这个幻灯片主要总结了Mdb和DTrace的基本用法,但由于是培训讲义,所以内容未免不够详尽。关于Mdb和DTrace的书籍和参考资料列在了幻灯片的最后一节,读者可以进一步学习。 在线观看或下载    注1:由于CDDL和GPL的兼容性问题,Linux的DTrace移植是在用户空间。阅读全文>

发表于 @ 2008年11月30日 21:43:00|评论(loading...)|举报|收藏

2008年11月14日

原创 VMDq (Virtual Machine Device Queue) in OpenSolaris

Intel最新的千兆/万兆以太网卡(Intel 82575/82598)开始提供对虚拟化芯片级支持.VMDq是Intel虚拟化技术的一部分,它和I/OAT及SR-IOV(Single Root I/O Virtualization)构成Intel IO虚拟化的解决方案。OpenSolaris的Crossbow马上要进入OpenSolaris的主分支了,作为OpenSolaris网络虚拟化的重要项目之一,Crossbow的千兆/万兆网卡驱动利用VMDq技术极大的提高了Gest OS或者Solaris Zone虚拟网卡的性能。   这个幻灯片主要介绍了Crossbow对Intel VMDq技术的支持。勘误或者讨论,请与作者联系。   关于OpenSolaris Crossbow项目,请到http://opensolaris.org/os/project/crossbow/参与讨论。   在线观看或下载阅读全文>

发表于 @ 2008年11月14日 23:49:00|评论(loading...)|举报|收藏

2007年07月04日

原创 Debugging system hangs on Solaris

前几天写了一个幻灯片,介绍调试Solaris系统挂起的基本方法。这个幻灯片仅用于学习交流目的,错误再所难免,如果有勘误或疑问请与作者联系。阅读全文>

发表于 @ 2007年07月04日 12:22:00|评论(loading...)|举报|收藏

2007年03月04日

原创 Solaris学习笔记(6) - 07年9月修订版

系统panic和hang是内核开发人员常遇到的两个问题。在Solaris学习笔记(5)中,我们对一个panic做出了简单分析,可以看到,通过系统panic线程的调用栈信息,通过检查函数的入口参数,我们可以比较快速的定位引起panic内核模块,并做深入分析。但是系统hang的问题有时会更复杂一些,通常,我们会尝试在系统hang发生时,强制系统产生一个crash dump,通过检查当时内核的状态来定位问题。阅读全文>

发表于 @ 2007年03月04日 22:20:00|评论(loading...)|举报|收藏

Csdn Blog version 3.1a
Copyright © Oliver Yang