Linux 7.2 リリース: キャッシュ対応スケジューリング、MGLRU の強化、GPU 電源管理
Linux 7.2 がキャッシュ対応スケジューリング、MGLRU の改善、sched_ext サブスケジューラ、マルチサイズ THP とともに登場。Igalia は DRM スケジューラのフェアポリシー(オプトイン)、Raspberry Pi GPU のランタイム PM、14 年前の futex バグ修正を提供。

Linux 7.2 が予定通り今週タグ付けされリリースされた。今回のサイクルはこれまでで最も忙しいものの一つで、6.7 に次ぐ規模となり、メンテナはこれを「ニューノーマル」と呼ぶ — 過去 3〜4 サイクルはすべて修正が多かった。
主要な機能には、キャッシュ対応スケジューリング、MGLRU の改善、sched_ext のサブスケジューラ導入、マルチサイズ透過的巨大ページの自動生成が含まれる。全体像については、LWN の パート 1 と パート 2 のマージウィンドウ要約を読む価値がある。
Igalia の貢献
Igalia は今回のサイクルでかなりの作業量を担当し、目玉は DRM スケジューラのフェアポリシーで、rc7 中の土壇場でのリグレッション報告によりオプトインでの提供となった。フェアポリシーはデフォルトになる予定で、複数クライアント間の GPU 共有を改善し、軽量なインタラクティブワークロードが重量級ワークロードに枯渇させられるのを防ぐはずだった。修正はすでに判明しており、初期テストは有望に見えるため、将来のリリースで再び有効になることが期待される。
電源面では、Igalia は Raspberry Pi 4 および 5 GPU のランタイム電源管理を実装した。以前は V3D ドライバがプローブからドライバアンロードまで GPU クロックを有効に保っていたため、アイドル状態の GPU でも電力を消費していた。ランタイム PM により、GPU は実際に処理を行っているときのみ電源が入り、アイドル中はクロックを無効化できる。チームはまた、Raspberry Pi 3 GPU ドライバの 2 つの長年のバグを修正した。これは RetroPie ユーザーにランダムな GPU ハングやシステムクラッシュを引き起こしていたもので、根本原因はフレーム途中で GPU のメモリが不足した際のタイルメモリの処理方法にあった。各グラフィックスジョブは現在、自身のメモリ領域にのみ書き込み、再利用されるメモリは再利用前に適切にクリアされる。
sched_ext では、Igalia はカスタムスケジューラのデバッグのための可観測性を改善した。カスタムスケジューラがランタイムエラー(例: 30 秒以上タスクのスケジューリングに失敗)に遭遇すると、カーネルはそれを排出し、デフォルトスケジューラにフォールバックする。カーネルは各 CPU のステータスをダンプするが、高コアシステムではバッファサイズ制限によりダンプが切り詰められる可能性があった。修正は終了 CPU — エラーを引き起こした CPU — を優先し、最初にダンプされるようにし、その CPU ID が BPF スケジューラとユーザースペースツールに直接公開される。
また、堅牢なリストメカニズムに影響する14 年前の futex バグの修正の設計と実装を支援した。これはエッジケースでデータ破損を引き起こす可能性があった。一般的なバグ修正では、ueagle-atm ドライバのデバイスプローブ/切断中の kernfs 作成と削除操作間の長年の競合状態を修正し、x86 ブート中に使用されるインラインアセンブリ memcmp() の正確性を改善して、コンパイラ最適化と命令並べ替えによる微妙なバグを防いだ。
最後に、今回のリリースの HDMI 2.1 固定レートリンク(FRL)サポートの一部は、AMD での Rodrigo Siqueira の作業に遡る。これはメインツリーの外に何年も置かれていた後に組み込まれた。これにより amdgpu ドライバは HDMI 2.1 モニタと通信できるようになり、主に FRL 実装が含まれる。
DRM スケジューラのフェアポリシーはデフォルトになる予定だったが、土壇場のリグレッション報告によりオプトインでの提供を余儀なくされた — 十分にテストされたスケジューラ変更でも 11 時間目の問題に直面し得ることを思い出させる。
ディスカッション
0 件のコメント
最初のコメントを投稿しましょう。