Menu Close

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)