Kernel

共 215 篇文章。

1GB page on AMD processor

• Kernel

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特性

• Kernel

因为我用的网卡多数都是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模式)。

参与评论

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,巧合?:) 这个版本对调度器本身的上锁进行了细化,从而带来了性能改善(最上面那根黄线,之前是下面那根青色的线)。

参与评论

搞坏了inet_ntoa_r API

• Kernel

看来还是学的太少了。之前只是注意到内核有提供这样一个接口,等到kris来信才知道,这个接口和其他平台上都不一样-_-#

参与评论

libthr修成正果

• Kernel

Daniel刚刚commit的symver变动中包含了一项最新的改动──将libthr「扶正」为libpthread。这样,FreeBSD从7.0-RELEASE开始,将正式默认采用1:1线程,而不是原先的libkse(M:N线程)作为线程库,类似Solaris。

参与评论