<?xml version="1.0" encoding="gb2312"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>斯巴达第二季</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/" />
    <link rel="self" type="application/atom+xml" href="http://donghao.org/atom.xml" />
    <id>tag:donghao.org,2007-08-15://43</id>
    <updated>2012-01-16T09:46:12Z</updated>
    <subtitle>                                  董昊</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Open Source 4.1</generator>

<entry>
    <title>代码review</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2012/01/uaereview.html" />
    <id>tag:donghao.org,2012://43.3658</id>

    <published>2012-01-16T09:42:44Z</published>
    <updated>2012-01-16T09:46:12Z</updated>

    <summary><![CDATA[我：我们有两台机，都是一样的 xeon E5620 2.4G 的CPU，但是，跑算Pi的程序，5000个迭代，一个机器跑48秒，另一个只需要32秒coly：CPU核数一样吗？我：一样的。不一样应该没关系，我这是单进程。coly：内存速度不一样？我：就一个算Pi，总共就占8MB内存，还没有CPU的L3 cache大呢coly：要不这样，你写个死循环加法，我们看看两边的速度是不是一样（公司的盒饭送来了，晚饭时间）coly：你先吃，我来写吧....一个死循环我应该还是能写出来的....你要review我的代码哟～我：....（coly把代码写出来了int main(void){&nbsp; &nbsp; &nbsp; &nbsp; int a=0;&nbsp; &nbsp; &nbsp; &nbsp; while ( a &lt; 0) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a++;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; return 0;}）coly：为什么我运行瞬间就结束了？我：应该是编译器把你的死循环优化掉了，因为a这个变量在整个main函数里都没有被其它地方使用coly: 喔～～，我改改，在结尾加个printf把a打出来（程序一运行还是瞬间结束）陈同学：（看了看代码）是不是加法太快了，看不出来？咱们加几个嵌套循环coly：好～（程序还是瞬间结束）coly：怪了....靠，a的值是0啊，根本进不了循环！我，陈同学齐声：喔～～～coly：你们两个！怎么review代码的！后记：死循环程序写出来了，两台机器CPU的计算速度确实有差异，原因最后由柯旻同学揭示：跟华为2285机器的cpu 频率控制有关CPU不开启cpuspeed就是1.6G的主频，需要/sbin/modprobe...]]></summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="软件开发" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="codereview" label="code review" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cpufreq" label="cpufreq" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cpuspeed" label="cpuspeed" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[<div>我：我们有两台机，都是一样的 xeon E5620 2.4G 的CPU，但是，跑算Pi的程序，5000个迭代，一个机器跑48秒，另一个只需要32秒</div><div><br /></div><div>coly：CPU核数一样吗？</div><div><br /></div><div>我：一样的。不一样应该没关系，我这是单进程。</div><div><br /></div><div>coly：内存速度不一样？</div><div><br /></div><div>我：就一个算Pi，总共就占8MB内存，还没有CPU的L3 cache大呢</div><div><br /></div><div>coly：要不这样，你写个死循环加法，我们看看两边的速度是不是一样</div><div><br /></div><div>（公司的盒饭送来了，晚饭时间）</div><div><br /></div><div>coly：你先吃，我来写吧....一个死循环我应该还是能写出来的....你要review我的代码哟～</div><div>我：....</div><div><br /></div><div>（coly把代码写出来了</div><div><br /></div><div><i><b>int main(void)</b></i></div><div><i><b>{</b></i></div><div><i><b>&nbsp; &nbsp; &nbsp; &nbsp; int a=0;</b></i></div><div><i><b>&nbsp; &nbsp; &nbsp; &nbsp; while ( a &lt; 0) {</b></i></div><div><i><b>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a++;</b></i></div><div><i><b>&nbsp; &nbsp; &nbsp; &nbsp; }</b></i></div><div><i><b><br /></b></i></div><div><i><b><br /></b></i></div><div><i><b>&nbsp; &nbsp; &nbsp; &nbsp; return 0;</b></i></div><div><i><b>}</b></i></div><div><br /></div><div>）</div><div><br /></div><div>coly：为什么我运行瞬间就结束了？</div><div>我：应该是编译器把你的死循环优化掉了，因为a这个变量在整个main函数里都没有被其它地方使用</div><div>coly: 喔～～，我改改，在结尾加个printf把a打出来</div><div><br /></div><div>（程序一运行还是瞬间结束）</div><div>陈同学：（看了看代码）是不是加法太快了，看不出来？咱们加几个嵌套循环</div><div>coly：好～</div><div><br /></div><div>（程序还是瞬间结束）</div><div><br /></div><div>coly：怪了....靠，a的值是0啊，根本进不了循环！</div><div>我，陈同学齐声：喔～～～</div><div><br /></div><div>coly：你们两个！怎么review代码的！</div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>后记：</div><div><br /></div><div>死循环程序写出来了，两台机器CPU的计算速度确实有差异，原因最后由<a href="http://weibo.com/u/1804480064">柯旻</a>同学揭示：</div><div><br /></div><div>跟华为2285机器的cpu 频率控制有关</div><div>CPU不开启cpuspeed就是1.6G的主频，需要</div><div><br /></div><div>/sbin/modprobe acpi-cpufreq</div><div>echo ondemand |sudo tee /sys/devices/system/cpu/cpu13/cpufreq/scaling_governor</div><div><br /></div><div>后，主频才上到真正的2.4G</div><div>&#8203;</div>]]>
        
    </content>
</entry>

<entry>
    <title>ext4新特性bigalloc的简介</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2012/01/ext4aioobigallocaoe.html" />
    <id>tag:donghao.org,2012://43.3655</id>

    <published>2012-01-12T01:36:02Z</published>
    <updated>2012-01-12T01:41:21Z</updated>

    <summary><![CDATA[这是在公司做简单介绍的PPT，只是推广性的梗概，欲知实现细节的看这里&nbsp;http://lwn.net/Articles/441343/ Ext4 new feature - bigallocView more presentations from donghao....]]></summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="操作系统" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="bigalloc" label="bigalloc" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ext4" label="ext4" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[这是在公司做简单介绍的PPT，只是推广性的梗概，欲知实现细节的看这里&nbsp;<a href="http://lwn.net/Articles/441343/">http://lwn.net/Articles/441343/</a><div><br /></div><div>

<div style="width:425px" id="__ss_10977236"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/donghao/ext4-new-feature-bigalloc" title="Ext4 new feature - bigalloc">Ext4 new feature - bigalloc</a></strong><object id="__sse10977236" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ext4newfeature-bigalloc-120111193408-phpapp01&amp;stripped_title=ext4-new-feature-bigalloc&amp;userName=donghao" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><embed name="__sse10977236" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ext4newfeature-bigalloc-120111193408-phpapp01&amp;stripped_title=ext4-new-feature-bigalloc&amp;userName=donghao" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="425" height="355"></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/donghao">donghao</a>.</div></div>

</div><script src="http://b.scorecardresearch.com/beacon.js?c1=7&amp;c2=7400849&amp;c3=1&amp;c4=&amp;c5=&amp;c6="></script><script src="http://b.scorecardresearch.com/beacon.js?c1=7&amp;c2=7400849&amp;c3=1&amp;c4=&amp;c5=&amp;c6="></script>]]>
        
    </content>
</entry>

<entry>
    <title>治咳嗽</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2012/01/oieeo.html" />
    <id>tag:donghao.org,2012://43.3653</id>

    <published>2012-01-06T04:56:01Z</published>
    <updated>2012-01-07T05:29:34Z</updated>

    <summary>去年冬天的时候，我去附近的医院看病。医生给开了500多块的药，就为了治一个小小的咳嗽。上个月又有一点咳嗽。正巧团队活动，出去吃了一顿金钱豹(自助餐)。晚上回到家。我：我感觉咳嗽好多了爸：好像是，你进门这么久了，一声也没咳我：看来吃金钱豹可以治咳嗽咧老婆：呵呵，200块治一个咳嗽，嗯，比医院还是便宜多了...</summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="生活随感" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="咳嗽" label="咳嗽" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[<div>去年冬天的时候，我去附近的医院看病。医生给开了500多块的药，就为了治一个小小的咳嗽。</div><div><br /></div><div>上个月又有一点咳嗽。正巧团队活动，出去吃了一顿金钱豹(自助餐)。晚上回到家。</div><div><br /></div><div>我：我感觉咳嗽好多了</div><div>爸：好像是，你进门这么久了，一声也没咳</div><div>我：看来吃金钱豹可以治咳嗽咧</div><div>老婆：呵呵，200块治一个咳嗽，嗯，比医院还是便宜多了</div><div><br /></div> ]]>
        
    </content>
</entry>

<entry>
    <title>2011年读书</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2011/12/2011aeaee.html" />
    <id>tag:donghao.org,2011://43.3650</id>

    <published>2011-12-31T08:01:29Z</published>
    <updated>2012-01-01T05:10:14Z</updated>

    <summary>一年一度的读书回顾时间又到了，今年读书数量创新低，因为我愈发觉得生活中有很多东西比读书重要得多，比如陪家人聊聊天，比如出去走走呼吸呼吸pm2.5的空气，比如看看kernel代码，比如加班查查bug....呵呵，开个玩笑个人觉得：最回肠荡气的 —— 《静静的顿河》整整四本，我三个月才细细看完草原的哥萨克们，经历了世界大战，经历了内战，终于厌倦了同胞相残的可怕日子，于是扔掉枪扔掉子弹，回到家，认命似的接受了统治。原文”反正谁统治都一样”，“谁统治都比打仗好“。做为一部前苏联三十年代的热门小说，我真的很奇怪这么一部反战名著，这么一部相对写实（当然，写实性不能跟《古拉格群岛》相比，但比《钢铁是怎样炼成的》要真实多了），这么一部连当时苏联红军抢哥萨克农民粮食都敢写的小说，是怎么在那个高压的年代出版并风行的？还获得了“斯大林文学奖”？奇迹，只能说是奇迹最精彩最吸引我的 —— 《三体》系列第一部很有悬念，但人物塑造偏单薄；第二部人物饱满多了，主角不再是作者以前爱写的那种“高大全”的英雄形象，变得更加真实更加细腻；第三部，以我这点水平，无法再多说，一句话——绝了！最盛名难符的 —— 《卢比孔河》梁文道先生推荐汤姆.霍兰的历史小说，于是我就借了这本书看，看完才发觉简直是流水帐，没有任何人物描写和历史分析，只有走马观花和泛泛而谈，既不深入也不精彩，它是怎么在豆瓣上获得8.6分的？与此相比，我在kindle上看的电子书《罗马英雄传--西庇阿》，《汉尼拔的军事生涯》要比它精彩得多...</summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="书即面包" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="三体" label="三体" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="静静的顿河" label="静静的顿河" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[一年一度的读书回顾时间又到了，今年读书数量创新低，因为我愈发觉得生活中有很多东西比读书重要得多，比如陪家人聊聊天，比如出去走走呼吸呼吸pm2.5的空气，比如看看kernel代码，比如加班查查bug....呵呵，开个玩笑<div><br /></div><div>个人觉得：</div><div><br /></div><div>最回肠荡气的 —— 《静静的顿河》</div><div><br /></div><div>整整四本，我三个月才细细看完</div><div>草原的哥萨克们，经历了世界大战，经历了内战，终于厌倦了同胞相残的可怕日子，于是扔掉枪扔掉子弹，回到家，认命似的接受了统治。原文”反正谁统治都一样”，“谁统治都比打仗好“。</div><div>做为一部前苏联三十年代的热门小说，我真的很奇怪这么一部反战名著，这么一部相对写实（当然，写实性不能跟《古拉格群岛》相比，但比《钢铁是怎样炼成的》要真实多了），这么一部连当时苏联红军抢哥萨克农民粮食都敢写的小说，是怎么在那个高压的年代出版并风行的？还获得了“斯大林文学奖”？</div><div>奇迹，只能说是奇迹</div><div><br /></div><div><br /></div><div>最精彩最吸引我的 —— 《三体》系列</div><div><br /></div><div>第一部很有悬念，但人物塑造偏单薄；第二部人物饱满多了，主角不再是作者以前爱写的那种“高大全”的英雄形象，变得更加真实更加细腻；第三部，以我这点水平，无法再多说，一句话——绝了！</div><div><br /></div><div><br /></div><div>最盛名难符的 —— 《卢比孔河》</div><div><br /></div><div>梁文道先生推荐汤姆.霍兰的历史小说，于是我就借了这本书看，看完才发觉简直是流水帐，没有任何人物描写和历史分析，只有走马观花和泛泛而谈，既不深入也不精彩，它是怎么在豆瓣上获得8.6分的？与此相比，我在kindle上看的电子书<a href="http://ishare.iask.sina.com.cn/f/14361596.html">《罗马英雄传--西庇阿》</a>，<a href="http://ishare.iask.sina.com.cn/f/20140517.html">《汉尼拔的军事生涯》</a>要比它精彩得多</div><div><br /></div><div><br /></div>
<img id="chartMonth" src="http://chart.apis.google.com/chart?chs=400x200&amp;cht=bvs&amp;chd=s:GGMMGSYYSfGA&amp;chxt=y,x,x&amp;chxl=0:|0|1|2|3|4|5|6|7|8|9|10|1:|1|2|3|4|5|6|7|8|9|10|11|12|2:|month&amp;chxp=2,100&amp;chf=c,lg,90,76A4FB,0.5,ffffff,0|bg,s,EFEFEF&amp;chco=0000ff&amp;chtt=27 books+you+added+in+year+2011|divided+by+month" /><div id="doubanlist"><table><tbody><tr></tr><tr><td><a title="如果这是宋史(1大宋开国卷)" target="_blank" href="http://book.douban.com/subject/3071235/"><img border="0" src="http://img3.douban.com/spic/s3413927.jpg" /></a></td><td><a title="历史深处的忧虑" target="_blank" href="http://book.douban.com/subject/1027191/"><img border="0" src="http://img3.douban.com/spic/s1688308.jpg" /></a></td><td><a title="关键词" target="_blank" href="http://book.douban.com/subject/6134278/"><img border="0" src="http://img3.douban.com/spic/s6473678.jpg" /></a></td><td><a title="逃离北上广2" target="_blank" href="http://book.douban.com/subject/5390075/"><img border="0" src="http://img1.douban.com/spic/s4608891.jpg" /></a></td><td><a title="超新星纪元" target="_blank" href="http://book.douban.com/subject/3636385/"><img border="0" src="http://img3.douban.com/spic/s3700467.jpg" /></a></td><td><a title="魔鬼积木?白垩纪往事" target="_blank" href="http://book.douban.com/subject/3266663/"><img border="0" src="http://img1.douban.com/spic/s3324132.jpg" /></a></td><td><a title="我们台湾这些年" target="_blank" href="http://book.douban.com/subject/4113090/"><img border="0" src="http://img1.douban.com/spic/s4036921.jpg" /></a></td></tr><tr><td><a title="三体Ⅲ" target="_blank" href="http://book.douban.com/subject/5363767/"><img border="0" src="http://img3.douban.com/spic/s4538428.jpg" /></a></td><td><a title="卢比孔河" target="_blank" href="http://book.douban.com/subject/1871632/"><img border="0" src="http://img3.douban.com/spic/s2180038.jpg" /></a></td><td><a title="博芬格漫画" target="_blank" href="http://book.douban.com/subject/1255676/"><img border="0" src="http://img3.douban.com/spic/s2984367.jpg" /></a></td><td><a title="西蒙的猫" target="_blank" href="http://book.douban.com/subject/4249101/"><img border="0" src="http://img1.douban.com/spic/s6129621.jpg" /></a></td><td><a title="希望的收获" target="_blank" href="http://book.douban.com/subject/4096847/"><img border="0" src="http://img3.douban.com/spic/s4027487.jpg" /></a></td><td><a title="浪潮之巅" target="_blank" href="http://book.douban.com/subject/6709783/"><img border="0" src="http://img3.douban.com/spic/s6807265.jpg" /></a></td><td><a title="三体Ⅱ" target="_blank" href="http://book.douban.com/subject/3066477/"><img border="0" src="http://img1.douban.com/spic/s3078482.jpg" /></a></td></tr><tr><td><a title="三体" target="_blank" href="http://book.douban.com/subject/2567698/"><img border="0" src="http://img3.douban.com/spic/s2768378.jpg" /></a></td><td><a title="细胞生命的礼赞" target="_blank" href="http://book.douban.com/subject/1291817/"><img border="0" src="http://img3.douban.com/spic/s1670264.jpg" /></a></td><td><a title="常识" target="_blank" href="http://book.douban.com/subject/3344676/"><img border="0" src="http://img3.douban.com/spic/s3588323.jpg" /></a></td><td><a title="总统是靠不住的" target="_blank" href="http://book.douban.com/subject/1056315/"><img border="0" src="http://img3.douban.com/spic/s2170316.jpg" /></a></td><td><a title="论老年 论友谊 论责任" target="_blank" href="http://book.douban.com/subject/1048529/"><img border="0" src="http://img3.douban.com/spic/s1187694.jpg" /></a></td><td><a title="读者" target="_blank" href="http://book.douban.com/subject/4031698/"><img border="0" src="http://img1.douban.com/spic/s3976091.jpg" /></a></td><td><a title="如彗星划过夜空" target="_blank" href="http://book.douban.com/subject/1762869/"><img border="0" src="http://img1.douban.com/spic/s1670411.jpg" /></a></td></tr><tr><td><a title="学习vi和Vim编辑器（第七版，影印版）" target="_blank" href="http://book.douban.com/subject/3767413/"><img border="0" src="http://img3.douban.com/spic/s3826515.jpg" /></a></td><td><a title="静静的顿河" target="_blank" href="http://book.douban.com/subject/3200759/"><img border="0" src="http://img1.douban.com/spic/s5934962.jpg" /></a></td><td><a title="民主的细节" target="_blank" href="http://book.douban.com/subject/3813669/"><img border="0" src="http://img3.douban.com/spic/s4146437.jpg" /></a></td><td><a title="自作聪明的傻小子" target="_blank" href="http://book.douban.com/subject/3090323/"><img border="0" src="http://img3.douban.com/spic/s3897696.jpg" /></a></td><td><a title="塔西佗历史" target="_blank" href="http://book.douban.com/subject/1130172/"><img border="0" src="http://img3.douban.com/spic/s1101906.jpg" /></a></td><td><a title="罗马史（下卷）" target="_blank" href="http://book.douban.com/subject/1061684/"><img border="0" src="http://img1.douban.com/spic/s4554701.jpg" /></a></td></tr></tbody></table><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>[kernel] epoll在ET模式下“带出EPOLLOUT”的疑问</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2011/12/kernel-epollouetaeiaooepollout.html" />
    <id>tag:donghao.org,2011://43.3646</id>

    <published>2011-12-03T03:41:11Z</published>
    <updated>2011-12-03T03:44:41Z</updated>

    <summary><![CDATA[几个月前朱照远同学向我提过一个epoll的疑似bug：1. 创建一个socket（sfd）并connect到某个server2. 创建 epoll_create（efd）3. 将socket的描述符sfd加入efd， &nbsp;采用ET模式4. 调用epoll_wait将返回一个EPOLLOUT事件（因为连接成功了）以上是正常的，但是，此时如果从server来了一个消息， epoll_wait将会返回一个event，这个event包含了EPOLLIN和EPOLLOUT“照理说”，既然采用了ET模式，EPOLLOUT上次已经出现了，不应该再出现，但是它被EPOLLIN事件给“带出来”了这看上去似乎像个问题，但似乎也可以理解为epoll的一个特性，所以，保险起见，我发了个邮件给 linux-api 和 linux-netdev 说明了一下这个事儿，希望能得到权威回答。不久就有两位回邮件了，其中一位是 Eric Dumazet（从git log里看，他提交了很多kernel network方面的patch，应该是很有发言权的），说得很明白:"Its not true. Same "status" can be delivered several time.Think about Edge and Level trigger. An event (change of status) is thetrigger.As soon as on...]]></summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="操作系统" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="epoll" label="epoll" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[<div>几个月前<a href="http://blog.zhuzhaoyuan.com/">朱照远</a>同学向我提过一个epoll的疑似bug：</div><div><br /></div><div>1. 创建一个socket（sfd）并connect到某个server</div><div>2. 创建 epoll_create（efd）</div><div>3. 将socket的描述符sfd加入efd， &nbsp;采用ET模式</div><div>4. 调用epoll_wait将返回一个EPOLLOUT事件（因为连接成功了）</div><div><br /></div><div>以上是正常的，但是，此时如果从server来了一个消息， epoll_wait将会返回一个event，这个event包含了EPOLLIN和EPOLLOUT</div><div>“照理说”，既然采用了ET模式，EPOLLOUT上次已经出现了，不应该再出现，但是它被EPOLLIN事件给“带出来”了</div><div><br /></div><div>这看上去似乎像个问题，但似乎也可以理解为epoll的一个特性，所以，保险起见，我发了个邮件给 linux-api 和 linux-netdev 说明了一下这个事儿，希望能得到权威回答。</div><div>不久就有两位回邮件了，其中一位是 Eric Dumazet（从git log里看，他提交了很多kernel network方面的patch，应该是很有发言权的），说得很明白:</div><div><br /></div><div>"Its not true. Same "status" can be delivered several time.</div><div><br /></div><div>Think about Edge and Level trigger. An event (change of status) is the</div><div>trigger.</div><div><br /></div><div>As soon as on trigger is done, epoll delivers a status.</div><div><br /></div><div>And your file status is indeed EPOLLOUT | EPOLLIN, since you can read or</div><div>write on it.</div><div>....</div><div>Not a bug, but a misinterpretation of what is an event and what is a</div><div>status.&#8203;"</div><div><br /></div><div>原文<a href="http://www.spinics.net/lists/linux-api/msg01871.html">http://www.spinics.net/lists/linux-api/msg01871.html</a></div><div><br /></div><div>看来正确的理解是：ET模式只保证在边缘条件出现时（上面的例子是从不可读变为可读）从epoll_wait里返回，但不保证fd的event里只有“从不可读变为可读”带来的EPOLLIN。毕竟epoll_wait返回的event是指fd的“状态”，既然这个fd可写可读，那么包含EPOLLIN和EPOLLOUT就不能被认为是有错。</div><div><br /></div> ]]>
        
    </content>
</entry>

<entry>
    <title>[招聘转发] 淘宝内核组招聘实习生</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2011/11/oae-ioaueeoaeeieu.html" />
    <id>tag:donghao.org,2011://43.3643</id>

    <published>2011-11-21T01:59:26Z</published>
    <updated>2011-11-21T02:03:13Z</updated>

    <summary><![CDATA[原文：http://kernel.taobao.org/index.php/Documents/kernel_team_internship淘宝内核组是一只非常年轻的队伍，我们作为开源社区和淘宝的桥梁，一方面基于淘宝的工作负载来改进Linux内核的性能和质量，另一方面也将开源社区的新想法引入到淘宝的操作系统运行环境中。我们在不断改进Linux在淘宝成千上万台服务器上运行的性能和稳定性的同时，也持续努力将我们的工作反馈回开源社区。&nbsp;关于淘宝内核组的简单情况介绍，可以在这个wiki页面看到：http://kernel.taobao.org&nbsp;对于我们在内核社区的一些还很初级的工作，在这个wiki页面有一些简单的数字：http://kernel.taobao.org/index.php/Documents/kernel_development_at_taobao&nbsp;我们和国内、国际的同行一直有紧密的合作，同时我们的工作内容对开源社区也非常开放。在这个小团队工作，可以同我们一起体验如何从线上运行的上万台服务器的实际运行数据中寻找可以改进Linux内核的想法，然后付诸实践并通过实际运行数据来验证自己的工作效果，并最终将代码反馈回内核社区的这个过程。&nbsp;如果你是在校的学生，对系统软件开发有一些了解，而且有热情投入到Linux内核开发的社区中来，也许你可以考虑加入到淘宝内核组这个小团体中来进行实习工作。我们是非常年轻的团队，但是我们是勤奋、认真和努力的一小撮人。&nbsp;实习的工作地点在杭州或者北京的办公室，根据大家的意向而定；工作时间要求不短于3个月，每周不少于3天。我们的实习工资很平常，够路费和伙食费。只是希望在这里做过实习工作的同学以后回忆起这段经历会依然感觉很开心。&nbsp;欢迎有兴趣的同学发邮件到 bosong.ly 在 taobao 点 com ，希望我们能够有缘分在一起度过一段值得回忆的时光。bosong.ly注：我们这个团队成立也就不过1年多，很多人都是刚刚起步的新手，我们做的工作，相比行业内的同行来说，从深入、广度和价值上而言，也都非常初级。所以确实是一群小朋友 ^_^正是因为大家的爱护、支持和鼓励，才让我们工作的更开心，更享受。...]]></summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="操作系统" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="内核组" label="内核组" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="招聘" label="招聘" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[原文：http://kernel.taobao.org/index.php/Documents/kernel_team_internship<div><br /></div><div><div>淘宝内核组是一只非常年轻的队伍，我们作为开源社区和淘宝的桥梁，一方面基于淘宝的工作负载来改进Linux内核的性能和质量，另一方面也将开源社区的新想法引入到淘宝的操作系统运行环境中。我们在不断改进Linux在淘宝成千上万台服务器上运行的性能和稳定性的同时，也持续努力将我们的工作反馈回开源社区。&nbsp;</div><div><br /></div><div><br /></div><div><br /></div><div>关于淘宝内核组的简单情况介绍，可以在这个wiki页面看到：http://kernel.taobao.org&nbsp;</div><div>对于我们在内核社区的一些还很初级的工作，在这个wiki页面有一些简单的数字：http://kernel.taobao.org/index.php/Documents/kernel_development_at_taobao&nbsp;</div><div><br /></div><div><br /></div><div><br /></div><div>我们和国内、国际的同行一直有紧密的合作，同时我们的工作内容对开源社区也非常开放。在这个小团队工作，可以同我们一起体验如何从线上运行的上万台服务器的实际运行数据中寻找可以改进Linux内核的想法，然后付诸实践并通过实际运行数据来验证自己的工作效果，并最终将代码反馈回内核社区的这个过程。&nbsp;</div><div><br /></div><div><br /></div><div><br /></div><div>如果你是在校的学生，对系统软件开发有一些了解，而且有热情投入到Linux内核开发的社区中来，也许你可以考虑加入到淘宝内核组这个小团体中来进行实习工作。我们是非常年轻的团队，但是我们是勤奋、认真和努力的一小撮人。&nbsp;</div><div><br /></div><div><br /></div><div><br /></div><div>实习的工作地点在杭州或者北京的办公室，根据大家的意向而定；工作时间要求不短于3个月，每周不少于3天。我们的实习工资很平常，够路费和伙食费。只是希望在这里做过实习工作的同学以后回忆起这段经历会依然感觉很开心。&nbsp;</div><div><br /></div><div><br /></div><div><br /></div><div>欢迎有兴趣的同学发邮件到 bosong.ly 在 taobao 点 com ，希望我们能够有缘分在一起度过一段值得回忆的时光。</div><div><br /></div><div><br /></div><div>bosong.ly注：</div></div><div><br /></div><div><p style="padding-bottom: 10px; margin-bottom: 0px; line-height: 20px; color: rgb(102, 102, 102); font-family: Verdana, Helvetica, sans-serif; font-size: 12px; text-align: left; background-color: rgb(247, 247, 247); ">我们这个团队成立也就不过1年多，很多人都是刚刚起步的新手，我们做的工作，相比行业内的同行来说，从深入、广度和价值上而言，也都非常初级。所以确实是一群小朋友 ^_^</p><p style="padding-bottom: 10px; margin-bottom: 0px; line-height: 20px; color: rgb(102, 102, 102); font-family: Verdana, Helvetica, sans-serif; font-size: 12px; text-align: left; background-color: rgb(247, 247, 247); ">正是因为大家的爱护、支持和鼓励，才让我们工作的更开心，更享受。</p></div>]]>
        
    </content>
</entry>

<entry>
    <title>奖品</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2011/11/ae-7.html" />
    <id>tag:donghao.org,2011://43.3642</id>

    <published>2011-11-08T05:34:38Z</published>
    <updated>2011-11-08T05:37:13Z</updated>

    <summary>组里如果有人做了讲座，Coly会赠送他一个小礼品做奖励。Coly：你们谁最近做讲座？我抽屉里的小礼品都快塞满了（全沉默）....Coly：（从抽屉里拿出一个盒子）这有一个无线鼠标，可以折叠的，蓝牙的咧（我们拿过来看了看，还真是不错，造型别致）Coly：怎样？谁来讲座，这个就是奖品（又全沉默）....Coly：不是吧，刚才看奖品都挺积极，一说讲座都不动了....好吧，接着推销——（从抽屉里拿出另一个盒子，面朝我），这是个塑料泥人，你非常愤怒的时候可以捏着玩儿我：我们脾气都很好，用不着Coly：那....这里还有一个，这是个小测谎仪，用来绑在手上，然后别人问你问题，你如果说谎，机器会发现你的脉搏变化，然后放出强电流....（依然全沉默）....Coly：都不喜欢啊？我再找找....我：别，别麻烦了，这些都太不实用了....这样吧，你买桶食用油做奖品，我来讲座...</summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="对话收录" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="奖品" label="奖品" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[<div>组里如果有人做了讲座，<a href="http://coly.li">Coly</a>会赠送他一个小礼品做奖励。</div><div><br /></div><div>Coly：你们谁最近做讲座？我抽屉里的小礼品都快塞满了</div><div><br /></div><div>（全沉默）....</div><div><br /></div><div>Coly：（从抽屉里拿出一个盒子）这有一个无线鼠标，可以折叠的，蓝牙的咧</div><div><br /></div><div>（我们拿过来看了看，还真是不错，造型别致）</div><div><br /></div><div>Coly：怎样？谁来讲座，这个就是奖品</div><div><br /></div><div>（又全沉默）....</div><div><br /></div><div>Coly：不是吧，刚才看奖品都挺积极，一说讲座都不动了....好吧，接着推销——（从抽屉里拿出另一个盒子，面朝我），这是个塑料泥人，你非常愤怒的时候可以捏着玩儿</div><div><br /></div><div>我：我们脾气都很好，用不着</div><div><br /></div><div>Coly：那....这里还有一个，这是个小测谎仪，用来绑在手上，然后别人问你问题，你如果说谎，机器会发现你的脉搏变化，然后放出强电流....</div><div><br /></div><div>（依然全沉默）....</div><div><br /></div><div>Coly：都不喜欢啊？我再找找....</div><div><br /></div><div>我：别，别麻烦了，这些都太不实用了....这样吧，你买桶食用油做奖品，我来讲座</div> ]]>
        
    </content>
</entry>

<entry>
    <title>CLSF讨论会纪要（二）</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2011/10/clsfioauaio.html" />
    <id>tag:donghao.org,2011://43.3641</id>

    <published>2011-10-25T09:43:07Z</published>
    <updated>2011-10-26T01:28:39Z</updated>

    <summary><![CDATA[第二天的主题就轻松一些也宽泛一些Intel的吴峰光介绍了writeback最近的改进方向。 吴峰光（intel）同学的讲座 以前的writeback是脏页到了一定的比例就开始，以后要改为曲线调节式的。举个例子，以前是脏页的比例到了20%，kernel就开始写回；以后，脏页比例到了10%，kernel就开始偶尔的缓慢的写回，到了20%，kernel开始正常速度写回，到了30%，kernel开始频繁写回，有点自适应的味道。吴峰光做了一个实验：在一台服务器上，启动10个dd来写硬盘，同时scp一个大文件，会发现scp的流量时高时低，抖动的非常厉害（因为脏页比例一到，磁盘就会突然面临大量的写操作，影响scp的读磁盘操作）；使用新patch后，scp的流量很平稳。（这个实验太有说服力了！做集群或做“云”的同学们？你们难道没有遇到过类似“一写大文件，其它的进程都被拖慢”的麻烦吗？）然后百度的谢广军介绍了百度在存储方面的探索。在SSD出现之前，2006年，百度就与华为合作搞过SSD卡??用nand flash攒一个。很多坏块管理，擦除平衡（就是脏块合并）都是自己靠软件实现的（真辛苦），为了解决写放大的问题，把每个block的其中一部分用来记log（变override为append）目前百度有个新的存储方案，就是拿掉kernel，让应用直接存取硬件，广军同学原话“raid卡聚合起来的io肯定不如应用直接分开访问N块硬盘的性能“，所以，干脆不要block层，文件系统层，直接访问磁盘！这个激进方案目前在考察中。互联网应用很容易遇到一个问题：一台服务器上跑多个应用，这多个应用会争夺资源，所以，怎么隔离它们呢？两个常见方案：用虚拟机，或用cgroup。但虚拟机方案显然有两个缺点：更长的IO代码路径更低的效率（Coly提出）；在机房搭太多虚拟机会消耗IP增加运营难度（谢广军提出）。所以，目前cgroup胜出。最后一个讲座是Intel benchmark team的同学主持的，主要介绍intel对各种硬件各种文件系统的测试。最后，他提出了一个很有趣的看法：随着硬件的飞速提升，很多软件层可能面临消失。比如，SSD出现后，很多互联网公司已经不再使用通用的文件系统而改为自己实现一个简单的，而如果以后PCM出现，kernel里的block层和fs层可能就不再需要了。看来我们两天的讨论主题——储存/文件系统，被这最后一个讲座给直接否掉了 ^_^&nbsp;不过Coly有句话：“PCM就算出来，那也得三年以后了，这三年，咱们不能不吃不喝呀“ 参会同学们的合影 结语：感谢 百度 和 南大富士通 赞助此次CLSF讨论会...]]></summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
    <category term="clsf" label="clsf" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pcm" label="pcm" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="writeback" label="writeback" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[<div>第二天的主题就轻松一些也宽泛一些</div><div><br /></div><div>Intel的吴峰光介绍了writeback最近的改进方向。</div><div><br />
<center>
<img src="http://i1184.photobucket.com/albums/z321/donghrat/medium.jpg" alt="吴峰光" />
<br />
吴峰光（intel）同学的讲座
<br />
</center></div>
<div><br /></div><div>以前的writeback是脏页到了一定的比例就开始，以后要改为曲线调节式的。举个例子，以前是脏页的比例到了20%，kernel就开始写回；以后，脏页比例到了10%，kernel就开始偶尔的缓慢的写回，到了20%，kernel开始正常速度写回，到了30%，kernel开始频繁写回，有点自适应的味道。</div><div><br /></div><div>吴峰光做了一个实验：在一台服务器上，启动10个dd来写硬盘，同时scp一个大文件，会发现scp的流量时高时低，抖动的非常厉害（因为脏页比例一到，磁盘就会突然面临大量的写操作，影响scp的读磁盘操作）；使用新patch后，scp的流量很平稳。（这个实验太有说服力了！做集群或做“云”的同学们？你们难道没有遇到过类似“一写大文件，其它的进程都被拖慢”的麻烦吗？）</div><div><br /></div><div><br /></div><div>然后百度的<a href="http://weibo.com/hd8003">谢广军</a>介绍了百度在存储方面的探索。</div><div><br /></div><div>在SSD出现之前，2006年，百度就与华为合作搞过SSD卡??用nand flash攒一个。很多坏块管理，擦除平衡（就是脏块合并）都是自己靠软件实现的（真辛苦），为了解决写放大的问题，把每个block的其中一部分用来记log（变override为append）</div><div><br /></div><div>目前百度有个新的存储方案，就是拿掉kernel，让应用直接存取硬件，广军同学原话“raid卡聚合起来的io肯定不如应用直接分开访问N块硬盘的性能“，所以，干脆不要block层，文件系统层，直接访问磁盘！这个激进方案目前在考察中。</div><div><br /></div><div><br /></div><div>互联网应用很容易遇到一个问题：一台服务器上跑多个应用，这多个应用会争夺资源，所以，怎么隔离它们呢？两个常见方案：用虚拟机，或用cgroup。但虚拟机方案显然有两个缺点：更长的IO代码路径更低的效率（Coly提出）；在机房搭太多虚拟机会消耗IP增加运营难度（谢广军提出）。所以，目前cgroup胜出。</div><div><br /></div><div><br /></div><div>最后一个讲座是Intel benchmark team的同学主持的，主要介绍intel对各种硬件各种文件系统的测试。最后，他提出了一个很有趣的看法：随着硬件的飞速提升，很多软件层可能面临消失。比如，SSD出现后，很多互联网公司已经不再使用通用的文件系统而改为自己实现一个简单的，而如果以后<a href="http://hi.baidu.com/hustbodao/blog/item/89fe0ed6546696ca51da4b40.html">PCM</a>出现，kernel里的block层和fs层可能就不再需要了。看来我们两天的讨论主题——储存/文件系统，被这最后一个讲座给直接否掉了 ^_^&nbsp;</div><div>不过Coly有句话：</div><div>“PCM就算出来，那也得三年以后了，这三年，咱们不能不吃不喝呀“</div><div><br /></div><div><br /></div>
<div>
<center>
<a href="http://ww4.sinaimg.cn/large/769847c7gw1dm44p807hzj.jpg">
<img src="http://i1184.photobucket.com/albums/z321/donghrat/769847c7gw1dm44p807hzj.jpg" alt="clsf 2011" />
</a>
<br />
参会同学们的合影
<br />
</center></div>
<div><br /></div><div>结语：感谢 百度 和 南大富士通 赞助此次CLSF讨论会</div><div><br /></div> ]]>
        
    </content>
</entry>

<entry>
    <title>CLSF讨论会纪要（一）</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2011/10/clsfioauaioo.html" />
    <id>tag:donghao.org,2011://43.3640</id>

    <published>2011-10-25T09:30:31Z</published>
    <updated>2011-10-28T05:17:58Z</updated>

    <summary><![CDATA[10月13日到14日两天参加了在江苏南京召开的CLSF（China Linux Storage & Filesystem）会议，说会议大了点，主要是大家一群对低层存储和文件系统感兴趣的同学（主要来自SUSE,Intel,南大富士通,淘宝，百度）坐在一起“勾兑”一番。我绝对是文件系统领域的新手，所以尽管尽心记录，肯定还是很碎片，大家将就着看，如发现错误，欢迎狂喷狂问。第一天先是由南大富士通的李泽帆介绍btrfs这一年来的新进展。btrfs已经实现了透明的文件压缩。采用LZO压缩算法（zip压缩算法消耗CPU太大），存在磁盘上的是压缩后的用户数据，压缩单位是一个extent（一次压缩最大不得超过160k的数据）；用户在读取时，根据offset找到该读哪个extent，然后从磁盘中读出数据，解压放入page cache里，然后用户即可访问了。这里面的问题就是随机读的性能较差，因为每次读的extent不一样就得每次都解压；所以这主要适合“顺序读，随机写”的场合。btrfs还支持只压缩某个文件，而不是整个文件系统。用du命令查看btrfs，看到的是压缩后的大小（i_disksize是压缩后的大小，i_size是压缩钱的大小）。Coly很有兴趣的询问了压缩的实现方法，因为淘宝正在考虑给ext4加透明压缩的特性，以用于读取频繁的hadoop集群。btrfs还增加了auto defrag的特性，在将page cache写回前先看对应的extent是否可以合并（磁盘块挪到一起），如果可以，则合并后一起写回，这样写回的性能就好得多（连续磁盘块），且同时做了defrag。问题就是用户会发现自己的write调用会产生很多的额外io（在合并extent呢），会比较困惑。如果加上一个mount option，让用户自己选择是否需要auto defrag，则更好。淘宝的马涛问：btrfs什么时候才能达到product release的程度？富士通的缪勰回答：即使是必备的btrfsck，也要半年左右才能达到生产级的稳定马涛：目前是否有一个详细的针对btrfs的性能测试，证明在哪些负载下btrfs的表现比ext4好？intel的同学回答：从我们初步的测试来看，大部分负载下btrfs都慢一些....btrfs的卖点主要是snapshot等新特性，而且是面对桌面用户的。马涛：但linux本身就是被服务端用户需求拉动的大家乐了。至少目前btrfs还不会很快用于product。 大家随意讨论 suse的jjzhang同学主要讲了分布式存储——这是存储面临的新挑战。lustre为什么没有很好的继续下去，是因为它没有进kernel mainline，相比较进了mainline的ceph就好得多。分布式存储基本绕不开分布式锁管理（DLM），很多分布式存储系统虽然是多机器的入口，但是压力全落在了DLM上，结果效率还是很低，关键是要把压力分摊到不同文件上（DLM是针对文件的）。正好提到了Ceph的后台是btrfs，"如果btrfs不稳定，ceph也无法稳定"（富士通的同学们笑）jjzhang自己也做了一个开源的cluster ticket manager，网址在 https://github.com/jjzhang/booth从纯研究的领域看，只要是有投票算法的集群系统，都有scability上限的问题，工业界通常是通过使用多个集群（每个集群有一台机器作为入口）的办法绕开了这个问题。看来，将来会继续绕下去。然后由淘宝的Coly同学介绍我们在存储方面的优化。在CDN和hadoop集群上通过调节readahead减少了IO压力，这个是通过仔细的blktrace跟踪和分析来找到问题的，慢工出的细活（工作通常是这样）。开始在生产环境试验并小规模推行no journal的ext4。no journal最早是google为ext4加入的新特性，很多互联网公司自己已经在应用层实现了备份（比如GFS，HDFS），并不需要文件系统再记日志，所以这是个提高性能的好途径。我弱智的问：ext4如果mount时带上data=writeback，跟no journal不一样吗？马涛回答：data=writeback时，meta data还是要进journal的，而no journal就真的是一点日志也不记了淘宝期望能将snapshot特性加入ext4，用于虚拟机集群（这样虚拟磁盘就可以做快照了）。目前杨勇强同学（中科院计算所）正在为snapshot进ext4 upstream奋战。目前我们正在测试并加强bigalloc特性，用于存储大文件的集群——比如hadoop。（bigalloc是身在google的Theodore Ts'o为ext4新加的feature,可将文件块从基本的4K一块提高到64k甚至1M一块，patch见http://www.spinics.net/lists/linux-ext4/msg26417.html）淘宝考虑过使用flashcache，但是它有两个困境：1. SSD设备正在降价，也许不久后就可以大量使用&nbsp;2. 设备层肯定不如应用层更了解哪些数据热哪些数据不热，所以交给应用层来做热数据迁移似乎更合理更高效。 coly同学和缪勰同学在画板上讨论btrfs...]]></summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="操作系统" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="btrfs" label="btrfs" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="clsf" label="clsf" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ext4" label="ext4" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[<div>10月13日到14日两天参加了在江苏南京召开的<a href="http://www.china-lsf.org/2011/">CLSF（China Linux Storage & Filesystem）</a>会议，说会议大了点，主要是大家一群对低层存储和文件系统感兴趣的同学（主要来自SUSE,Intel,南大富士通,淘宝，百度）坐在一起“勾兑”一番。</div><div>我绝对是文件系统领域的新手，所以尽管尽心记录，肯定还是很碎片，大家将就着看，如发现错误，欢迎狂喷狂问。</div><div><br /></div><div>第一天先是由南大富士通的李泽帆介绍btrfs这一年来的新进展。</div><div><br /></div><div>btrfs已经实现了透明的文件压缩。采用LZO压缩算法（zip压缩算法消耗CPU太大），存在磁盘上的是压缩后的用户数据，压缩单位是一个extent（一次压缩最大不得超过160k的数据）；用户在读取时，根据offset找到该读哪个extent，然后从磁盘中读出数据，解压放入page cache里，然后用户即可访问了。这里面的问题就是随机读的性能较差，因为每次读的extent不一样就得每次都解压；所以这主要适合“顺序读，随机写”的场合。</div><div>btrfs还支持只压缩某个文件，而不是整个文件系统。用du命令查看btrfs，看到的是压缩后的大小（i_disksize是压缩后的大小，i_size是压缩钱的大小）。</div><div>Coly很有兴趣的询问了压缩的实现方法，因为淘宝正在考虑给ext4加透明压缩的特性，以用于读取频繁的hadoop集群。</div><div><br /></div><div>btrfs还增加了auto defrag的特性，在将page cache写回前先看对应的extent是否可以合并（磁盘块挪到一起），如果可以，则合并后一起写回，这样写回的性能就好得多（连续磁盘块），且同时做了defrag。问题就是用户会发现自己的write调用会产生很多的额外io（在合并extent呢），会比较困惑。如果加上一个mount option，让用户自己选择是否需要auto defrag，则更好。</div><div><br /></div><div>淘宝的<a href="http://weibo.com/1735447517">马涛</a>问：btrfs什么时候才能达到product release的程度？</div><div>富士通的<a href="http://ww1.sinaimg.cn/large/8974c907jw1dlkt3elj78j.jpg">缪勰</a>回答：即使是必备的btrfsck，也要半年左右才能达到生产级的稳定</div><div>马涛：目前是否有一个详细的针对btrfs的性能测试，证明在哪些负载下btrfs的表现比ext4好？</div><div>intel的同学回答：从我们初步的测试来看，大部分负载下btrfs都慢一些....btrfs的卖点主要是snapshot等新特性，而且是面对桌面用户的。</div><div>马涛：但linux本身就是被服务端用户需求拉动的</div><div><br /></div><div>大家乐了。</div><div>至少目前btrfs还不会很快用于product。</div>
<div>
<br />
<center>
<img src="http://i1184.photobucket.com/albums/z321/donghrat/talk.jpg" alt=""/>
<br/>
大家随意讨论
</center>
</div>
<div><br /></div><div>suse的jjzhang同学主要讲了分布式存储——这是存储面临的新挑战。</div><div><br /></div><div>lustre为什么没有很好的继续下去，是因为它没有进kernel mainline，相比较进了mainline的ceph就好得多。</div><div><br /></div><div>分布式存储基本绕不开分布式锁管理（DLM），很多分布式存储系统虽然是多机器的入口，但是压力全落在了DLM上，结果效率还是很低，关键是要把压力分摊到不同文件上（DLM是针对文件的）。</div><div><br /></div><div>正好提到了Ceph的后台是btrfs，"如果btrfs不稳定，ceph也无法稳定"（富士通的同学们笑）</div><div><br /></div><div>jjzhang自己也做了一个开源的cluster ticket manager，网址在 https://github.com/jjzhang/booth</div><div><br /></div><div>从纯研究的领域看，只要是有投票算法的集群系统，都有scability上限的问题，工业界通常是通过使用多个集群（每个集群有一台机器作为入口）的办法绕开了这个问题。看来，将来会继续绕下去。</div><div><br /></div><div><br /></div><div>然后由淘宝的<a href="http://weibo.com/colyli">Coly同学</a>介绍我们在存储方面的优化。</div><div><br /></div><div>在CDN和hadoop集群上通过调节readahead减少了IO压力，这个是通过仔细的blktrace跟踪和分析来找到问题的，慢工出的细活（工作通常是这样）。</div><div><br /></div><div>开始在生产环境试验并小规模推行no journal的ext4。no journal最早是google为ext4加入的新特性，很多互联网公司自己已经在应用层实现了备份（比如GFS，HDFS），并不需要文件系统再记日志，所以这是个提高性能的好途径。</div><div><br /></div><div>我弱智的问：ext4如果mount时带上data=writeback，跟no journal不一样吗？</div><div>马涛回答：data=writeback时，meta data还是要进journal的，而no journal就真的是一点日志也不记了</div><div><br /></div><div>淘宝期望能将snapshot特性加入ext4，用于虚拟机集群（这样虚拟磁盘就可以做快照了）。目前<a href="http://weibo.com/xiaoqiangnk">杨勇强同学</a>（中科院计算所）正在为snapshot进ext4 upstream奋战。</div><div><br /></div><div>目前我们正在测试并加强bigalloc特性，用于存储大文件的集群——比如hadoop。（bigalloc是身在google的Theodore Ts'o为ext4新加的feature,可将文件块从基本的4K一块提高到64k甚至1M一块，patch见http://www.spinics.net/lists/linux-ext4/msg26417.html）</div><div><br /></div><div>淘宝考虑过使用flashcache，但是它有两个困境：</div><div>1. SSD设备正在降价，也许不久后就可以大量使用&nbsp;</div><div>2. 设备层肯定不如应用层更了解哪些数据热哪些数据不热，所以交给应用层来做热数据迁移似乎更合理更高效。</div><div><br /></div><div><br /></div> 
<div>
<center>
<img src="http://i1184.photobucket.com/albums/z321/donghrat/medium2.jpg" alt="clsf" />
<br />
coly同学和缪勰同学在画板上讨论btrfs
</center>
<br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>dd命令的新了解</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2011/10/ddauaiaaaea.html" />
    <id>tag:donghao.org,2011://43.3638</id>

    <published>2011-10-24T02:13:46Z</published>
    <updated>2011-10-24T02:16:59Z</updated>

    <summary><![CDATA[这一阵子的工作是在给ext4加feature，就是“让ext4的extent length的单位由block变为cluster“。一边写代码一边加测试用例，这个测试用例我就简单的用shell实现的，就用dd命令来写文件。顺序写的时候还好，等到偏移写（seek一段再write）的时候出了kernel crash，原因是某个extent的length突然变成了0。一开始当然是怀疑我自己哪里写错了，于是加断点，调试，直到我去南京出差周末在宾馆也在调试（感谢马涛同学提供的虚拟机镜像，不然连不上vpn就没法调了），发现事情很神奇：我的extent开始length是2，dd之后还没干别的呢，length就变了，于是终于给dd加了个strace，一看，我的天，dd自己会做ftruncate！而我还没有实现truncate的新feature这dd真是体贴得我流泪啊，我一直把它当纯write使啊，没想到dd会“智能“的多加一个truncate操作。去翻了一下dd的代码，只要是 of= 一个文件，dd必然会先truncate之，除非带上conv=notrunc。看来工具不熟就是误事啊。附dd用法（seek 8k然后write 8k，不要truncate）：dd if=/dev/zero of=/test seek=2 bs=4K count=2 conv=notrunc&nbsp;...]]></summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="软件开发" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="dd" label="dd" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ext4" label="ext4" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[<span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: 文泉驿微米黑; font-size: medium; "><div style="font-family: arial, sans-serif; font-size: 83%; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; overflow-x: hidden; overflow-y: hidden; background-color: rgb(255, 255, 255); "><div>这一阵子的工作是在给ext4加feature，就是“让ext4的extent length的单位由block变为cluster“。一边写代码一边加测试用例，这个测试用例我就简单的用shell实现的，就用dd命令来写文件。</div><div><br /></div><div>顺序写的时候还好，等到偏移写（seek一段再write）的时候出了kernel crash，原因是某个extent的length突然变成了0。一开始当然是怀疑我自己哪里写错了，于是加断点，调试，直到我去南京出差周末在宾馆也在调试（感谢<a href="http://weibo.com/n/%E6%B7%98%E4%BC%AF%E7%91%9C">马涛</a>同学提供的虚拟机镜像，不然连不上vpn就没法调了），发现事情很神奇：我的extent开始length是2，dd之后还没干别的呢，length就变了，于是终于给dd加了个strace，一看，我的天，dd自己会做ftruncate！而我还没有实现truncate的新feature</div><div><br /></div><div>这dd真是体贴得我流泪啊，我一直把它当纯write使啊，没想到dd会“智能“的多加一个truncate操作。去翻了一下dd的代码，只要是 of= 一个文件，dd必然会先truncate之，除非带上conv=notrunc。</div><div><br /></div><div>看来工具不熟就是误事啊。</div><div><br /></div><div>附dd用法（seek 8k然后write 8k，不要truncate）：</div><div><br /></div><div>dd if=/dev/zero of=/test seek=2 bs=4K count=2 conv=notrunc&nbsp;</div></div></span> ]]>
        
    </content>
</entry>

<entry>
    <title>shell里的函数返回值</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2011/10/shellaiaeyoo.html" />
    <id>tag:donghao.org,2011://43.3636</id>

    <published>2011-10-18T05:20:44Z</published>
    <updated>2011-10-18T05:21:49Z</updated>

    <summary><![CDATA[这几天用shell编程做一个简单的自动回归测试，需要用到shell的函数功能，大约是这样：sum (){&nbsp; &nbsp; return `expr $1 + $2`}sum 3 4echo $? &nbsp; &nbsp; &nbsp; &nbsp;#result一直用的不错，直到今天加了一个case，echo出来的返回值($?)就不对了，set -x调了一番，加法没错，但echo出来就是不对，最后暴力改改，让返回值变为直接 return 1024，咦？echo的东西变了，于是一番google，找到了这篇原来shell里面函数的返回值是用的errno，而errno只支持0-255，所以如果返回值太大就返回的不对了。替代方案是干脆用“全局变量”RES=0sum (){ RES=`expr $1 + $2`}sum 133 244echo $RESsum 333 444echo $RES...]]></summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="软件开发" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="shell" label="shell" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[<div>这几天用shell编程做一个简单的自动回归测试，需要用到shell的函数功能，大约是这样：</div><div><br /></div><div><br /></div><div>sum ()</div><div>{</div><div>&nbsp; &nbsp; return `expr $1 + $2`</div><div>}</div><div><br /></div><div>sum 3 4</div><div>echo $? &nbsp; &nbsp; &nbsp; &nbsp;#result</div><div><br /></div><div><br /></div><div>一直用的不错，直到今天加了一个case，echo出来的返回值($?)就不对了，set -x调了一番，加法没错，但echo出来就是不对，最后暴力改改，让返回值变为直接 return 1024，咦？echo的东西变了，于是一番google，找到了<a href="http://linuxtopia.org/online_books/advanced_bash_scripting_guide/complexfunct.html">这篇</a></div><div><br /></div><div>原来shell里面函数的返回值是用的errno，而errno只支持0-255，所以如果返回值太大就返回的不对了。</div><div><br /></div><div>替代方案是干脆用“全局变量”</div><div><br /></div><div><br /></div><div>RES=0</div><div><br /></div><div>sum ()</div><div>{</div><div><span class="Apple-tab-span" style="white-space:pre">	</span>RES=`expr $1 + $2`</div><div>}</div><div><br /></div><div>sum 133 244</div><div>echo $RES</div><div>sum 333 444</div><div>echo $RES</div><div><br /></div> ]]>
        
    </content>
</entry>

<entry>
    <title>十一图趣</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2011/10/eoie.html" />
    <id>tag:donghao.org,2011://43.3634</id>

    <published>2011-10-07T07:04:42Z</published>
    <updated>2011-10-07T07:15:02Z</updated>

    <summary> 家里种的，在阳台结了一个小小的苦瓜 有一颗辣椒红了，其它的还青着，但是体型大，看着很有丰收感 从老丈家拿来的稀有的黄西红柿种子，可惜花盆太小，所以结出来的也很小.... 这个不是我家里的了，这是公园的垃圾桶，像不像Android的那个小机器人？...</summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="生活随感" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="辣椒" label="辣椒" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="苦瓜" label="苦瓜" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[<center>
<img src="http://pic.yupoo.com/donghrat/Bqe6cAsR/medish.jpg"/>
<br/>
家里种的，在阳台结了一个小小的苦瓜
</center>
<br/>

<center>
<img src="http://pic.yupoo.com/donghrat/Bqe6jl7m/medish.jpg"/>
<br/>
有一颗辣椒红了，其它的还青着，但是体型大，看着很有丰收感
</center>
<br/>

<center>
<img src="http://pic.yupoo.com/donghrat/Bqe6owAk/medish.jpg"/>
<br/>
从老丈家拿来的稀有的黄西红柿种子，可惜花盆太小，所以结出来的也很小....
</center>
<br/>

<center>
<img src="http://pic.yupoo.com/donghrat/Bqe7g65Z/medish.jpg"/>
<br/>
这个不是我家里的了，这是公园的垃圾桶，像不像Android的那个小机器人？
</center>]]>
        
    </content>
</entry>

<entry>
    <title>梦</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2011/10/ai-1.html" />
    <id>tag:donghao.org,2011://43.3633</id>

    <published>2011-10-01T07:31:48Z</published>
    <updated>2011-10-01T07:34:23Z</updated>

    <summary>老婆：“我去买点东西，你自己在附近逛逛”于是我开始朝附近的海边走去。这是一条通往海边广场的路，很宽阔，左手边是一排高高的台阶，台阶下面又是一长排的休闲区，桌子椅子一类的。我继续朝海的方向走，突然看见了一个大大的飞机尾翼悬在上空，我很好奇，快步往前，一架巨大的飞机映入眼帘，居然是一架运输机，瞧这尾翼的样式，这不是“安”系列的运输机吗？这是哪个型号的呢？我从飞机的后面往前走，看见了左边机翼上挂着两个大大的发动机，心里想：喔，一边两个，应该是“安-124”，如果没记错的话。太奇怪了，海边广场居然停了一架退役的大运输机。好家伙，安东诺夫设计局的杰作啊，结实的俄国货，我等机械爱好者，当仔细瞧瞧。刚细看了没几眼（周围雾蒙蒙的，总觉得看不清楚），突然发觉周围有异样，咦？广场上稀稀疏疏的站着一些穿黑衣服的人，好像还带着家伙，该不是黑社会火拼吧。接着我听到了他们在谈判，不好，我得躲远点，于是我往回去的路上走，靠近那些高台阶。“砰砰”，枪响了！这帮家伙开打了，我一个箭步朝那些台阶后面跳过去，台阶高高的，我抓着不知道什么葡萄藤安全落在了休闲区。不好，有两个家伙跟着我过来了，不是来追我吧。过了一会儿，我觉得很遗憾：以前光瞧电视里有，我还从没看过真的“安-124”呢！还没来得及细看就....这帮人你说早不火拼晚不火拼，这会儿耽误我事儿。我又从台阶上来，又朝运输机那边走过去，一个端枪的黑衣人拦住我：“干什么？！”，估计这是留下来看场子的人。我不客气的回答：“看飞机！“黑衣人居然一脸的遗憾：“唉~~”，他放下枪，居然也朝飞机那边走过去。得~~，居然都是机械爱好者，走吧，都过去看吧~！慢慢的，我醒了....这叫什么梦啊.......</summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="生活随感" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="安124" label="安-124" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[<span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Simsun; font-size: medium; "><div style="font-family: arial, sans-serif; font-size: 83%; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; overflow-x: hidden; overflow-y: hidden; background-color: rgb(255, 255, 255); ">老婆：“我去买点东西，你自己在附近逛逛”<div>于是我开始朝附近的海边走去。</div><div>这是一条通往海边广场的路，很宽阔，左手边是一排高高的台阶，台阶下面又是一长排的休闲区，桌子椅子一类的。</div><div>我继续朝海的方向走，突然看见了一个大大的飞机尾翼悬在上空，我很好奇，快步往前，一架巨大的飞机映入眼帘，居然是一架运输机，瞧这尾翼的样式，这不是“安”系列的运输机吗？这是哪个型号的呢？我从飞机的后面往前走，看见了左边机翼上挂着两个大大的发动机，心里想：喔，一边两个，应该是“安-124”，如果没记错的话。</div><div>太奇怪了，海边广场居然停了一架退役的大运输机。好家伙，安东诺夫设计局的杰作啊，结实的俄国货，我等机械爱好者，当仔细瞧瞧。</div><div>刚细看了没几眼（周围雾蒙蒙的，总觉得看不清楚），突然发觉周围有异样，咦？广场上稀稀疏疏的站着一些穿黑衣服的人，好像还带着家伙，该不是黑社会火拼吧。</div><div>接着我听到了他们在谈判，不好，我得躲远点，于是我往回去的路上走，靠近那些高台阶。</div><div><br /></div><div>“砰砰”，枪响了！这帮家伙开打了，我一个箭步朝那些台阶后面跳过去，台阶高高的，我抓着不知道什么葡萄藤安全落在了休闲区。不好，有两个家伙跟着我过来了，不是来追我吧。</div><div><br /></div><div>过了一会儿，我觉得很遗憾：以前光瞧电视里有，我还从没看过真的“安-124”呢！还没来得及细看就....这帮人你说早不火拼晚不火拼，这会儿耽误我事儿。我又从台阶上来，又朝运输机那边走过去，一个端枪的黑衣人拦住我：“干什么？！”，估计这是留下来看场子的人。</div><div>我不客气的回答：“看飞机！“</div><div>黑衣人居然一脸的遗憾：“唉~~”，他放下枪，居然也朝飞机那边走过去。</div><div>得~~，居然都是机械爱好者，走吧，都过去看吧~！</div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>慢慢的，我醒了....这叫什么梦啊....</div></div></span>]]>
        
    </content>
</entry>

<entry>
    <title>哈耶克大战凯恩斯</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2011/09/oeooe.html" />
    <id>tag:donghao.org,2011://43.3630</id>

    <published>2011-09-08T08:12:49Z</published>
    <updated>2011-09-23T07:45:54Z</updated>

    <summary>一个同事说过： “IT loser（IT失败者）的典型特征就是喜欢研究历史，政治，经济”——真是至理名言。言归正传，向大家推荐一个视频系列，非常有趣。 第一回合 第二回合...</summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="影视游戏" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="哈耶克" label="哈耶克" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="凯恩斯" label="凯恩斯" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[一个同事说过： “IT loser（IT失败者）的典型特征就是喜欢研究历史，政治，经济”——真是至理名言。<div>言归正传，向大家推荐一个视频系列，非常有趣。</div><div><br /></div><div><br /></div>
<div>
<center>
第一回合
</br>
<object id='sinaplayer' width='480' height='370' ><param name='allowScriptAccess' value='always' /><embed pluginspage='http://www.macromedia.com/go/getflashplayer' src='http://you.video.sina.com.cn/api/sinawebApi/outplayrefer.php/vid=58862171_1568133624_ahi2HyY5XmLK+l1lHz2stqkP7KQNt6nkjGy8ulGnIwxdQ0/XM5GcatUB4ijRAdkEqDhAQZA3c/wn0Bw/s.swf' type='application/x-shockwave-flash' name='sinaplayer' allowFullScreen='true' allowScriptAccess='always' width='480' height='370'></embed></object>
</center>
</div>
</br>
<div>
<center>
第二回合
</br>
<object id='sinaplayer' width='480' height='370' ><param name='allowScriptAccess' value='always' /><embed pluginspage='http://www.macromedia.com/go/getflashplayer' src='http://you.video.sina.com.cn/api/sinawebApi/outplayrefer.php/vid=59401969_1804139833_O0y8GiJqXm7K+l1lHz2stqkP7KQNt6nkgWqwulGtLQ1aQ0/XM5Gca9kH4SDQCdkEqDhAQZE7df8v0RQ/s.swf' type='application/x-shockwave-flash' name='sinaplayer' allowFullScreen='true' allowScriptAccess='always' width='480' height='370'></embed></object>
</center>
</div>]]>
        
    </content>
</entry>

<entry>
    <title>ubuntu使用手记</title>
    <link rel="alternate" type="text/html" href="http://donghao.org/2011/08/ubuntueoaeoc.html" />
    <id>tag:donghao.org,2011://43.3625</id>

    <published>2011-08-26T03:01:04Z</published>
    <updated>2011-08-26T03:04:44Z</updated>

    <summary><![CDATA[今年年初才开始在公司干活时也使用ubuntu做桌面，确实很好用。小小的总结一下。收邮件用Thunderbird（evolution太总量级），上网用chrome（现在是用chromium，也不错），图形界面搞svn用RabbitVCS（强烈推荐，这简直就是linux下的 TortoiseSVN）WM刚开始用的是gnome，结果内存有些紧张，后来改用评价比较高的 lxde（纯openbox那样的又太geek了），使用结果证实了李勇同学以前的测试??lxde不管是启动速度还是内存占用都明显低于gnome。刚开始用 lxde 时觉得配置起来有点麻烦，不说别的，至少要在&nbsp;/etc/xdg/lxsession/LXDE/autostart 里加一句：@nm-applet不然系统不会自动去连无线网。不过后来我发现了 lubuntu 这个发行版，默认用的就是 lxde ，不用额外配置，淡蓝色的界面也简洁干净。前几天在新笔记本上遇到了个奇怪的问题：快速敲键盘时光标总是莫名其妙的“跑偏”，甚至点出菜单。开始以为是触动了某些快捷键，查了一圈没找到；再怀疑是键盘设置，看了一下键盘配置也没什么特别的，最后才发现是触摸板有点神经过敏??挨着就跳，于是找了个稀罕但好用的工具 Touchpad-Indicator （ubuntu 11.04 可以apt-get直接安装），直接关掉触摸板。一切ok了。...]]></summary>
    <author>
        <name>DongHao</name>
        <uri>http://donghao.org</uri>
    </author>
    
        <category term="操作系统" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="lubuntu" label="lubuntu" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="lxde" label="lxde" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="touchpad" label="touchpad" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://donghao.org/">
        <![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8"><div style="font-family: arial, sans-serif; font-size: 83%; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; overflow-x: hidden; overflow-y: hidden; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); ">今年年初才开始在公司干活时也使用ubuntu做桌面，确实很好用。小小的总结一下。<div>收邮件用Thunderbird（evolution太总量级），上网用chrome（现在是用chromium，也不错），图形界面搞svn用<a href="http://www.rabbitvcs.org/">RabbitVCS</a>（强烈推荐，这简直就是linux下的 TortoiseSVN）</div><div><br /></div><div>WM刚开始用的是gnome，结果内存有些紧张，后来改用评价比较高的 <a href="http://lxde.org">lxde</a>（纯openbox那样的又太geek了），使用结果证实了李勇同学以前的测试??lxde不管是启动速度还是内存占用都明显低于gnome。刚开始用 lxde 时觉得配置起来有点麻烦，不说别的，至少要在&nbsp;/etc/xdg/lxsession/LXDE/autostart 里加一句：</div><div>@nm-applet</div><div>不然系统不会自动去连无线网。不过后来我发现了 <a href="http://lubuntu.net/">lubuntu</a> 这个发行版，默认用的就是 lxde ，不用额外配置，淡蓝色的界面也简洁干净。</div><div><br /></div><div>前几天在新笔记本上遇到了个奇怪的问题：快速敲键盘时光标总是莫名其妙的“跑偏”，甚至点出菜单。开始以为是触动了某些快捷键，查了一圈没找到；再怀疑是键盘设置，看了一下键盘配置也没什么特别的，最后才发现是触摸板有点神经过敏??挨着就跳，于是找了个稀罕但好用的工具 <a href="https://launchpad.net/touchpad-indicator">Touchpad-Indicator</a> （ubuntu 11.04 可以apt-get直接安装），直接关掉触摸板。一切ok了。</div></div> ]]>
        
    </content>
</entry>

</feed>

