7.5. カーネル
アップストリームパッチをやり直すことで、一部の systemd
サービスやユーザー空間のワークロードを期待どおりに実行できるようになります。
バックアップとして提供されている mknod()
システムコールのアップストリームの変更により、open()
システムコールでは、デバイスノードに対する特権が mknod()
よりも高くなりました。そのため、複数のユーザー空間のワークロードや、コンテナー内の一部の systemd
サービスが応答しなくなりました。今回の更新で、間違った動作が元に戻り、クラッシュが発生しなくなりました。
(BZ#1902543)
メモリーアカウンティング操作でパフォーマンスリグレッションが改善されました。
スラブメモリーコントローラーは、スラブごとのメモリーアカウンティング操作の周波数を増加させていました。その結果、メモリーアカウンティング操作の数が増えたため、パフォーマンスが低下しました。この問題を修正するため、メモリーアカウンティング操作が、できるだけ多くのキャッシュを使用し、アトミック操作を最小限にとどめるように合理化されました。その結果、わずかなパフォーマンスのリグレッションが持続します。ただし、ユーザーエクスペリエンスは大幅に改善されています。
(BZ#1959772)
複数の SysRg-T マジックキーを発行すると、ハードロックが発生し、システムパニックが発生しなくなりました。
システムに複数の SysRg-T マジックキーシーケンスを発行すると、シリアルコンソールの速度や、出力される情報のボリュームによっては、中断が長期間無効になります。この長期間の無効割り込み時間により、多くの場合、ハードロックアップが発生し、その後システムパニックが発生します。今回の更新で、SysRg-T キーシーケンスが追加され、割り込みが無効になっている期間が大幅に短縮されました。その結果、上記のシナリオでハードロックアップやシステムパニックが発生することはありません。
(BZ#1954363)
特定の BCC ユーティリティーが macro redefined 警告を表示しない
一部のコンパイラー固有のカーネルヘッダーのマクロ再定義により、いくつかの BPF Compiler Collection (BCC) ユーティリティーが以下の影響なしの警告が表示していました。
warning: '__no_sanitize_address' macro redefined [-Wmacro-redefined]
今回の更新で、マクロの再定義を削除して問題が修正されています。その結果、該当する BCC ユーティリティーは、このシナリオで警告を表示しなくなりました。
(BZ#1907271)
kdump
が SSH または NFS ターゲットの vmcore のダンプに失敗しない
以前は、ネットワークインターフェイスカード (NIC) ポートを静的 IP アドレスに設定し、kdump
が SSH または NFS ダンプターゲット上の vmcore
をダンプするように設定すると、kdump
サービスは以下のエラーメッセージと共に開始しました。
ipcalc: command not found
したがって、SSH または NFS ダンプターゲット上の kdump
は最終的に失敗していました。
今回の更新で問題が修正され、kexec-tools
ユーティリティーが IP アドレスとネットマスクの計算を ipcalc
ツールに依存しなくなりました。これにより、SSH または NFS ダンプターゲットを使用する場合に kdump
が期待どおりに機能します。
(BZ#1931266)
特定のネットワークカーネルドライバーが、そのバージョンを適切に表示する
RHEL 8.4 では、多くのネットワークカーネルドライバーのモジュールバージョン管理の動作が変更になりました。そのため、これらのドライバーはそのバージョンを表示しませんでした。また、ethtool -i
コマンドを実行すると、ドライバーはドライバーバージョンではなく カーネル バージョンを表示しました。今回の更新で、カーネルモジュールの文字列を提供することでバグが修正されました。その結果、影響を受けるカーネルドライバーのバージョンを判別できます。
(BZ#1944639)
hwloc
コマンドが、単一の CPU Power9 および Power10 の論理パーティションで正しいデータを返すようになりました。
バージョン 2.2.0 の hwloc
ユーティリティーを使用すると、Power9 または Power10 CPU を実行する単一ノードの Non-Uniform Memory Access(NUMA) システムは、disallowed と見なされました。そのため、NODE0(ソケット 0、CPU 0) がオフラインで、hwloc
ソースコードは NODE0 がオンラインであることを想定するので、すべての hwloc
コマンドは機能しませんでした。以下のエラーメッセージが表示されました。
Topology does not contain any NUMA node, aborting!
今回の更新により、hwloc
が修正され、ソースコードはクエリー前に NODE0 がオンラインかどうかを確認します。NODE0 がオンラインではない場合、コードは次のオンライン NODE に進みます。
その結果、hwloc
コマンドは上記のシナリオでエラーを返しなくなりました。