heads-up
- FreeBSD Linux DragonFly
current - Kris Kennaway氏は、
Performance comparison of FreeBSD 7. 0 to FreeBSD 4. においてFreeBSD 7と他のOSのベンチマーク結果を公開しています。Linux、11 and Dragonfly BSD 1. 12 (Mar 2008) NetBSDなどとの比較結果はこれまでの結果とほぼ同じで、 FreeBSD 7が優れたマルチコアスケーラビリティを実現していることが確認できます。 同結果ではとくにDragonFly BSD 1.
8と1. 12との比較結果が重点的に紹介されており、 DragonFly BSDがマルチコアに対してスケールしないこと、 SMP機能を有効にするとロスのせいで性能が劣化すること、 分野によってはFreeBSD 4. 11よりも性能が劣化していることが指摘されています。 一方、
FreeBSDはまだ最適化されていないコードがあることがすでに認識され、 現在改良が続けられています。各種最適化が実装されたあとはさらにパフォーマンスが向上する見通しです。以前取り上げたようにDragonFly BSDの開発がマンパワー的に十分ではないことは認識されているため、 この結果だけを持ってDFを疑問視することは問題がありますが、 現状で性能に大きな開きが存在していることは事実のようです。 今後どの段階でスケーラビリティが向上しはじめるかが、
DFにおける注目ポイントとなりそうです。
src
- sys/
compat/ linux
sys/i386/ linux
sys/amd64/ linux32 current - リアルCPUアフィニティセッティングプリミティブを使ってsched_
setaffinity()およびget_ setaffinity()が実装されました。 - atacontrol(8)
current - “spindown”
機能がatacontrol(8)に追加されました。同機能を活用すると、 数秒の間 (秒数は設定可能) リクエストが来なかった場合にスピンおよびディスクをダウンさせることができます。次のリクエストが来た段階でスピンは元に復帰します。リクエストが機能のきっかけになるため、 たとえば “spindown” 機能を設定するには次のようにコマンドを実行するとされています。 “spindown” 機能をそもそも無効にしたい場合は、 次のようにタイムアウトを0に設定します。 - sys/
vm current - だいたい7年くらい前、
vm/ vm_ page. cファイルはvm/ vm_ contig. c、 vm/ vm_ page. c、 vm/ vm_ pageq. cの3つのファイルへ分割されました。vm/ vm_ pageq. cファイルは4つの短い関数があるだけで、 しかもうち2つはvm/ vm_ page. cからのみ使われています。 FreeBSD committerであるAlan Cox氏は、
今後同ファイルが成長する見通しもないことから、 vm/ vm_ pageq. cをvm/ vm_ page. cに統合すべき時期にきたとしてマージを実施しました。マージにもとないすでに使われていないPQ_ MAXCOUNTは削除され、 vm_ pageq_ enqueue()はvm_ page_ enqueue()へと名称が変更されました。 - split(1)
current - バイトを指定してファイルを分割するのではなく、
分割する個数を指定して分割を実施するためのオプション'-n'がsplit(1)コマンドに追加されました。 - src/
sys/ contrib/ opensolaris/ uts/ common/ fs/ zfs/
zfs_vnops. c current - VMサブシステムの変更に対してZFSにおけるmmap(2)動作に関して、
修正が実施されました。ZFSをファイルシステムとして採用した場合、 これまでの実装ではどうもmmap(2)の処理に問題があり、 場合によってはファイルの内容が変更されたりメタデータが破壊されることがあったようです。ZFSを使う場合mmap(2)を使うアプリケーションの利用は避けたほうが良いでしょう。問題が発生した場合には報国を実施してください。