Kernel

FreeBSD 8.0引入DTrace支持

| Kernel | #CDDL | #DTrace | #FreeBSD | #Solaris

John Birrell正式引入了DTrace支持,感谢 Cisco 公司的大力支持!

[delphij@charlie] ~> uname -a
FreeBSD charlie.delphij.net 8.0-CURRENT FreeBSD 8.0-CURRENT #33: Sun May 25 18:05:10 PDT 2008 delphij@charlie.delphij.net:/download/obj/data/src/sys/CHARLIE amd64
[delphij@charlie] ~> dtrace -V
dtrace: Sun D 1.6.1

参与评论

使用 固态盘(SSD)来改善本地存储的性能?

| Kernel | #SSD | #存储 | #性能 | #数据可靠性

最近看到 OpenSolaris 上面的 ZFS 引入了将 ZIL 写到另一个 pool 的方法。这种做法非常类似于 FreeBSD 2005年的 Google SoC 项目—-GEOM Journal

简单地说,这种做法的原理就是将准备写的数据(注意,不是元数据,而是数据)首先写到固态盘上,然后再将数据写回。这样做有很重要的好处,即先前必须同步写入的数据(例如fsync()、文件系统元数据更新等等),可以不必做完整的回写,而只需将 SSD 作为回写快取缓存 (Write-Back Cache) 了。

阅读全文…( 本文约 371 字,阅读大致需要 1 分钟 )

1GB page on AMD processor

| Kernel | #1gb | #8.0 | #amd | #FreeBSD | #page | #virtual memory

So now AMD 0x10 processors can handle 1GB pages, according to Alan Cox’s commit today! It would be exciting to see it on FreeBSD 8.0 (already in -HEAD).

(I’m still looking for a development desktop PC donation, see the FreeBSD wantlist)

参与评论

FreeBSD 7的TSO特性

因为我用的网卡多数都是em(4),所以在最近的升级中也就利用了它提供的TSO功能。TSO是一项减少服务器负载的技术,其原理是将TCP相关的一部分计算交给网卡去做。

阅读全文…( 本文约 213 字,阅读大致需要 1 分钟 )

tmpfs开发告一段落

| Kernel

pointyhat集群的kris老大前天发来了tmpfs的初步测试结果,很振奋。目前,tmpfs的性能在测试用例的环境下已经达到了md+ufs最佳性能的2-2.5倍,并且,得益于在向FreeBSD移植过程中增加的细粒度上锁,tmpfs在多CPU的环境下表现出了非常好的可伸缩性。

阅读全文…( 本文约 641 字,阅读大致需要 2 分钟 )

FreeBSD 7新增了iscsi支持

| Kernel

果然不出所料,Scott Long同学commit了Daniel Braniss的iSCSI发起端(客户端)实现。这样,FreeBSD 7.0-RELEASE将成为第一个包含iSCSI客户端实现的版本(之前FreeBSD通过net/iscsi-target支持target模式)。

参与评论

似乎7上面要增加iscsi支持了

| Kernel

很长时间没露面的Scott Long今天突然增加了一些目录(还没有代码commit),我猜这个是准备给7-STABLE上面用的iscsi实现。

参与评论

cpufreq和powerd

| Kernel

之前一直没太注意这个功能。记两笔(都是说的7.0,6.x也许有,不过我没查):

  1. 内核配置中增加:

device cpufreq

默认GENERIC里面有。

  1. /etc/rc.conf 中增加:

powerd_enable=“YES”

然后系统就能够根据忙闲自动切换CPU频率了。理论上这个可以有效地降低桌面CPU的温度。

参与评论

关于fork的竞态条件修正MFC了

| Kernel

今年2月底的时候我跟 李逵 发现了一个fork的race,然后我做了一个fix。在当时看来,这个fix并不是很理想(会在进程fork的时候增加两次PROC锁的持放操作),但与有人提出来的另外一种解决方案,也就是利用EVENTHANDLER(9)机制去作callback相比,这个解法没有活锁问题。

阅读全文…( 本文约 274 字,阅读大致需要 1 分钟 )

ULE 3.0

| Kernel

Jeff提交了ULE调度器的3.0版(sched_ule.c,v 1.200,巧合?:) 这个版本对调度器本身的上锁进行了细化,从而带来了性能改善(最上面那根黄线,之前是下面那根青色的线)。

参与评论