Bcachefs 1.38.6、ジャーナルのロックを全面排除。性能に本腰
カーネルの外に追い出されたファイルシステムが、速度で勝負を仕掛けてきた。Bcachefs-Tools 1.38.6は、ジャーナル周りのロック競合を根本から潰すパフォーマンスリリースだ。
ロックを捨てる
Bcachefs 1.38.6が現地時間6月17日にリリースされた。ディスクフォーマットの変更はなし。目玉は新機能ではなく、コードベース全域にわたるパフォーマンスチューニングにある。
開発者のケント・オーバーストリート(Kent Overstreet)氏が公開したChangelogを読むと、手の入れ方が尋常ではない。
最大の変更は、ジャーナルフラッシュの完全ロックフリー化だ。マルチスレッドで O_SYNC や fsync を叩くワークロードで、従来はジャーナルのメインロックがボトルネックになっていた。1.38.6ではフラッシュ処理からロックを排除した。ピンリストもジャーナル全体でロックを共有する方式をやめ、リストごとの個別ロックに切り替えている。ジャーナルの読み込みにはバイナリサーチを導入し、デフォルトのジャーナルサイズも引き上げた。
データベースサーバーやコンテナ環境で fsync が飛び交う状況を想定した改善だ。ファイルシステムのチューニングとしては、かなり攻めている。
btreeも根本から手を入れた
パフォーマンス改善はジャーナルだけではない。
btreeイテレータとトランザクションコミットのコードにプロファイリングを掛け、命令キャッシュ(icache)の使用量を大幅に削減した。btreeシャーディングにも大きく手が入った。従来はCPUベースでinode割り当てをシャーディングしていたが、1.38.6ではプロセスID(PID)ベースに変更。btreeノードがシャード境界をまたがないよう強制し、ロック競合が起きたらスレッドをそのシャードのデータがあるCPUへ移動させる。
高クライアント数のdbenchベンチマークで特に効果が出ているという。マルチスレッドのbtreeライトバッファフラッシュもロックインバージョンによるストールを減らし、ランタイムのイントロスペクション(内部状態の可視化)も強化した。
ロック戦略をここまで練り直すのは、「とりあえず動く」段階を過ぎたファイルシステムにしかできない仕事だ。機能を増やすフェーズは終わり、既存の機能を磨くフェーズに入っている。
255デバイスとUbuntu 26.04対応
新機能もある。1つのファイルシステムで扱えるストレージデバイスの上限を 255台 に引き上げた。大規模なストレージプールを組む用途に向けた拡張で、ZFSの柔軟性に一歩近づく。
もう1つ、Ubuntu 26.04 LTSのパッケージを apt.bcachefs.org で公開した。Arch LinuxやNixOS、Gentoo、Fedoraでは以前からパッケージが出ていたが、UbuntuはDKMSモジュールの導入に手間がかかっていた。LTS向けの公式パッケージが用意されたことで、試用のハードルは下がる。
Btrfsとの静かな競争
タイミングも興味深い。Linux 7.2ではBtrfsのラージフォリオ対応がデフォルト有効化され、ヒュージフォリオ(最大2MB)の実験的サポートも入った。ダイレクトI/Oのシリアライズ問題の修正でスループットが60%向上したという報告もある。カーネル内のファイルシステムが着実に性能を伸ばしている。
bcachefsはカーネルの外にいる。同じ土俵でベンチマークを比較されたとき、「機能は豊富だが遅い」では話にならない。1.38.6のパフォーマンス集中リリースは、その危機感の表れだろう。
2026年3月 v1.37 ── 機能の完成 イレイジャーコーディング安定版、Linux 7.0対応 2026年4月 v1.38 ── 安定性の確保 マウント高速化、discardデッドロック修正 2026年6月 v1.38.6 ── 速度の追求 ジャーナルロックフリー化、btreeシャーディング刷新、255デバイス対応 |
1.37でイレイジャーコーディングを安定版に持っていき、1.38でマウントの高速化とdiscard周りのデッドロックを修正し、今回は速度そのものを全面的に磨いた。カーネルから離れた後のリリースサイクルが、明らかに加速している。


参照元
Bcachefs-Tools v1.38.6 - bcachefs-tools.git
関連記事
- Linuxカーネルが新ファイルシステムの受け入れ基準を明文化
- Btrfsの書き込み性能、2年越しのバグ修正で最大60%回復
- Btrfsがhuge folios対応、Linux 7.2で投入へ
- Linux VFSが新ファイルシステムに「責任」を突きつける
- OpenZFS 2.4.2リリース、Linux 7.0に対応
- Apple自身が捨てて17年。AppleTalkがLinuxからも消える
- macOS 27ベータがAsahi Linuxを起動不能に。原因と対処法
- Linuxカーネル、AF_ALGを全面廃止へ
- IntelがUSB4STREAMをLinuxに導入、ケーブル1本でPC間転送
- io_uringがコアあたり60%高速化、PoC公開

