ネットワークインタフェース - ケーブル引き抜き検出、など

FreeBSD 7.2ではネットワークインタフェースドライバが多数改善されている。特に注目されるのはre(4)およびrl(4)におけるリンクステータスが検出されるようになった点だ。

物理層とのレイヤが整理され、ケーブルが引き抜かれたことを検出できるようになった。これにより、ケーブルがつながっていない状態のまま通信処理を進めてしまうような事態を防げるようになり、パケットロスを大幅に減らせることになる。

一方、fxp(4)では、チェックサムオフロード機能がifconfig(8)から制御できるようになったほか、82559以降のRxチェックサムオフロード機能追加、82550および82551におけるTSO(TCP Segmentation Offload)サポートの追加、VLANフレームサポートに対するTx/RxチェックサムオフロードやVLAN H/Wタグ挿入/削除サポートなどが実現されている。該当するNICを使っていてシステム全体の性能を向上させたいならFreeBSD 7.2へのアップグレードも1つの手段といえる。

カーネル仮想アドレス空間6GB - ZFSで効果あり

amd64版ではカーネル仮想アドレス空間が6GBへと引き上げられた。結果的にサブシステムが使える仮想メモリ空間が以前よりも増えたことになる。

これはZFSのように、ファイルシステムデータをキャッシュするために大量のカーネルメモリを必要とするサブシステムで効果がある。amd64版でZFSを使っている場合、FreeBSD 7.2はより好ましい設定になっている。

UFSID導入、VFS共有ロック改善

FreeBSD 7.2では、VFSにおけるパスネームルックアップのための共有vnodeロックが改善されている。デフォルトでは無効になっているが、vfs.lookup_sharedを1に設定することで有効になる。性能改善が期待できる機能だ。

また、ufsidと呼ばれるUSFベースのラベルがGEOM LABEL glabel(8)でサポートされた点も大きな特徴的の1つだ。glabel(8)が有効になっていると自動的に/dev/ufsid/xxxxxxxxxxxxxxxxのようなラベルが生成される。これはドライブやコントローラが変わった場合にデバイス名が変わってしまうという問題への対策の1つとして実装されている。

不具合情報 sysinstall(8)、malloc(3)+fork(2)、bce(4)+lagg(4)

スケジュールどおりにリリースされたFreeBSD 7.2だが、不具合情報もいくつか公開されている。sysinstall(8)関連とmalloc(8)関連のロック問題や、bce(4)ドライバを使っている場合にlagg(4)インタフェースが使えないという問題も報告されている。

修正パッチは、随時FreeBSD 7-STABLEへコミットされ、FreeBSD 7.2ブランチへマージされることになる。不具合情報はFreeBSD 7.2-RELEASE Errataにまとまっているため、まずはそちらに目を通し、使用する機能に問題が存在する場合は修正されるのを待ってからアップグレードを検討したほうがよいかもしれない。