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 コマンドは上記のシナリオでエラーを返しなくなりました。

(BZ#1917560)