我有分寸

LinuxFB版聚总结

gnawux debugfilesystemlinuxlinuxfbocfs2SSDvfsVPN

2010年4月25日,linuxfb(北邮真情流露Linux版)在老据点之一——北邮教三某实验室的会议室举行了一月一次的版聚。由于聪明的同学们都看了天气预报没来,追星的同学都因为Coly同学缺席没来,版聚史无前例的只有11人出席,不过,还是一如既往的深入、一如既往的愉快。在此感谢李东阳、彭涛和Casparant同学的分享。参加的同学在Google Wave里有记录,搜索“linuxfb with:public”就能找到了,这里不再赘述,仅仅提一下几位突出贡献同学:

  • bergwolf,也就是彭涛同学,每次在自我介绍时都会一如既往地将戒指从无名指挪到中指,这次贡献了一个很时髦的话题,一会再介绍,希望下次再聚会的时候不再需要这么挪戒指了——呃,我不是说要他提前挪好哈,大家明白吧。
  • lidongyang,李东阳每次来都给我留下深刻印象,尤其这次,带来了第一个精彩话题,当然,一会还是会介绍到的。
  • 上面两位同学各带来一位围观者,不同的是,含蓄的东阳不想让在他组实习的mm来,而bergwolf则邀请来一位师妹,不知道这两位可爱的mm是不是以后还会来参加啊,呵呵
  • jerry/文捷,还有saka,都是来参加版聚新同学,热烈欢迎他们,saka让我们想起了久违的LeoVirgo,啥时候能再聚聚啊
  • bunbun是版聚的老面孔了,搞技术的女孩,呵呵,redsand后继有人啊,话说如果redsand下次带宝宝来的话,我也带我家儿子来,哈哈。
  • gmoto,linuxfb五年版聚史中的第一偶像派的帅哥,这次也来了,可惜没有topic和众多的男女fans
  • hzmalgel,版聚的元老,这次也一如既往的拒绝承认有女朋友,一样的活跃,而且参与了中间的caspar的VPN环节,试用了cooler提供的VPN账号,当然,没成功
  • casparant,本次版聚的多面手,测试了投影仪,担任了摄影师,还在第二个话题中介绍了多种翻墙技巧。

李东阳这次介绍了一个ocfs2的一个bug,大概是这样的,fsstress的truncate会出错,内存中和磁盘上的元数据不一致,东阳同学在VFS的direct write位置定位了这个问题。背景是这样的:OCFS2的Direct Write不允许改变元数据,以获得更好的并发性能。但如果发现有O_DIRECT而不能directio,就送回VFS去做buffered io,可是,VFS的aio还是会检查 o_direct,回到 ocfs2_direct....,最后,该函数只查看 offset,不判断是否超出inode的范围,于是就出现了问题。最终的修改比较直接,就是要确定不要回到direct,只要确定进aio,就一定进aio,这样就不会出问题了。曲折的debug故事一直是我们比较喜欢的话题,非常有趣。

最后,bergwolf介绍了ATA的新指令TRIM,用于宣称某个块已经没有用了,可以被删除了,希望来帮助SSD更主动地垃圾回收,从而提升性能。2.6.33的内核已经支持了TRIM,btrfs和ext4也会使用TRIM。但是TRIM指令的设计师非常匪夷所思的,不能进入queue,类似barrier,这样,需要等前面的指令执行完才能执行TRIM,而TRIM完成之后才能有新的指令进入queue,一次的时延有上百毫秒,如果大量使用这个命令的话,反而会影响性能。结论是——这个命令暂时没啥好处……

总之,感谢讲话题的三位同学:lidongyang,bergwolf,casparant,也感谢永远的组织者,colyli和hzmangel,当然,我也会一如既往的记下去。

gnawux
me!#$!@#$@#$wangxu!@#$%^&*()_me