7.8. カーネル
パフォーマンスの低下を防ぐために、stalld スケジューリングポリシーのリグレッションを修正しました
この更新前は、stalld スケジューリングポリシーの変更が原因で、Node Tuning Operator の CI が正常に動作していませんでした。この変更により、サービスは起動後に SCHED_FIFO ではなく SCHED_OTHER に戻るようになっていました。その結果、リアルタイムワークロードのパフォーマンスが低下し、PR をマージできないことがありました。この更新により、systemd ユニットファイルで stalld の優先度が 10 に設定され、stalld が SCHED_FIFO で確実に動作するようになりました。これにより、期待される動作が復元され、リアルタイムワークロードのパフォーマンスが向上します。
osnoise/cpus に、コンマ区切りの長い CPU のリストを設定できるようになりました
この更新前は、無効な引数エラーが発生するため、osnoise/cpus にコンマ区切りの長い CPU リストを設定することができませんでした。この制限は、レイテンシーのデバッグとトラブルシューティングに影響を与えていました。このリリースでは、RTLA レイテンシーのデバッグとトラブルシューティングを強化するために、osnoise/cpus にコンマ区切りの長い CPU リストを入力できるようになりました。
Jira:RHEL-94317[1]
aarch64 システムにおける irqbalance サービスのバッファーオーバーフロー
以前は、特定の aarch64 マシンで irqbalance サービスを実行すると、バッファーオーバーフローによりサービスがクラッシュすることがありました。その結果、割り込みが CPU 間で適切に分散されなかったため、レイテンシーの影響を受けやすいワークロードでパフォーマンスの低下が発生する場合がありました。この更新により、irqbalance サービスのバッファーオーバーフローの問題が修正されました。
その結果、irqbalance サービスが確実に実行され、割り込みが期待どおりに分散されるようになりました。これにより、レイテンシーの影響を受けやすいワークロードのパフォーマンスが向上します。
rtla timerlat が起動時に osnoise 停止トレーシングのしきい値をリセットしない
この更新前は、stop_tracing フラグをクリアせずに rtla timerlat を複数回使用すると、RTLA が不整合な状態のままになっていました。その結果、-a、-T、または -i オプションでトレーシングの停止が要求されないと、トレースが正しく停止しませんでした。これにより、RTLA が終了すべきでないときに終了していたため、不正確なデータが報告されていました。この更新により、rtla-timerlat が停止トレーシング用の変数をリセットし、早期終了を防止するようになりました。その結果、プログラムの安定性が向上しました。
Jira:RHEL-86051[1]
rtla timerlat が、100 個以上の CPU を搭載したシステムで高頻度サンプリングを処理できるようになりました
この更新前は、tracefs のバッファー処理が不十分だったため、100 個を超える CPU を搭載したシステムで、rtla timerlat が 100 us 周期以上の timerlat サンプルを処理できませんでした。その結果、サンプルがドロップされ、timerlat の測定値が不正確になり、リアルタイムのパフォーマンス分析に影響が及んでいました。このリリースでは、timerlat のサンプルが測定 CPU 上で直接収集され、バッファーオーバーフローの問題が解消されます。その結果、rtla timerlat はコア数の多いシステムで正確な測定値を提供し、信頼性の高いリアルタイムパフォーマンス分析を可能にします。
Jira:RHEL-77358[1]