過去最大規模のカーネル開発サイクル

Linux 7.3が公開され、変更の貢献件数と参加した開発者数の双方で過去最多を記録した開発サイクルが完了した。LWNによると、最終版のカーネルには3,021人の開発者による、マージを除く1万8,765件のコミットが含まれる。このうち807人は、カーネルへの貢献が初めてだった。

LWNが要約したリーナス・トーバルズのリリース告知によれば、最終週に特段の問題はなく、今回の公開に至った。7.3の完成に続き、次はLinux 7.4のマージウィンドウが開く予定だが、トーバルズは毎年恒例の家族旅行のため、その序盤のスケジュールが普段とは異なると述べた。

このサイクルの規模が重要なのは、Linuxカーネルの開発がハードウェア対応、ファイルシステム、ネットワーク、セキュリティ、リソース管理の各分野で継続的に行われているためだ。コミット数が最多だったという事実だけで、ユーザーが実感できる影響やコードの品質を測ることはできない。それでも、前のリリースから安定版7.3という節目までに統合された作業の幅広さを示している。

スケジューリング、BPF、ストレージの変更

注目される追加項目には、大規模システムの性能向上を目指すグループスケジューリングのさらなる改良がある。スケジューリング方針をBPFで実装できるsched_extサブシステムでは、サブスケジューラー機能も完成した。BPFプログラムにはグローバルなCPU単位のデータが加わり、カーネルの観測や制御を行うツールの開発者が利用できる仕組みが広がった。

仮想化では、仮想マシンのワーキングセット追跡が導入され、ゲスト側の処理によるメモリ使用を把握するための基盤が整備された。ストレージとファイルシステム関連では、ntfs3ドライバーの代替データストリーム対応や、カーネルのSMBサーバーに対する数多くの改善が含まれる。

Linux 7.3は、すべての操作を失敗させるよう設計されたファイルシステム、failfsも導入する。意図的に使い物にならなくしたように聞こえるが、制御された失敗は、ストレージエラーに対してアプリやカーネルのコンポーネントがどう反応するかを試験するのに役立つ。また、fchroot()システムコールを追加し、登録済みインタープリターを通じて実行ファイル形式を認識・起動するカーネル機能、binfmt_miscを拡張した。

これらの機能は対象とする利用者層が異なり、多くは一般的なデスクトップの使い勝手をすぐに変えるものではない。カーネルのリリースが提供する機能を、ディストリビューション、システムベンダー、アプリ開発者はそれぞれの予定に沿って採用する。一部のユーザーはローリングリリース型ディストリビューションを通じて7.3を早期に受け取る一方、企業向けや長期サポートのシステムでは、古いカーネルを維持し、修正や機能を選択的にバックポートすることがある。

開発者や運用担当者にとっては、今回の公開を機に、多様なハードウェアや処理内容を対象とした下流での通常のテスト期間が始まる。過去最多の参加者数は、独立して開発された数千もの変更を一つのカーネルとして出荷するまでに、どれほどのレビューと統合作業が必要かを改めて示している。次のマージウィンドウに関心が移るなか、Linux 7.3がそうした作業の新たな基準点となった。