11.8. カーネル
Mellanox ConnectX-5 アダプターの使用中に mlx5 ドライバーが失敗します。
イーサネットスイッチデバイスドライバーモデル (switchdev) モードでは、デバイス管理フローステアリング (DMFS) パラメーターと ConnectX-5 アダプターがサポートするハードウェアを使用して設定されていると、mlx5 ドライバーが失敗します。その結果、次のエラーメッセージが表示されることがあります。
BUG: Bad page cache in process umount pfn:142b4b
BUG: Bad page cache in process umount pfn:142b4b
この問題を回避するには、DMFS の代わりにソフトウェア管理フローステアリング (SMFS) パラメーターを使用する必要があります。
(BZ#2180665)
Secure Boot で FADump を有効にすると、GRUB Out of Memory (OOM) が発生する可能性があります。
Secure Boot 環境では、GRUB と PowerVM は、ブートメモリー用に、RMA (Real Mode Area) と呼ばれる 512 MB のメモリー領域を割り当てます。リージョンはブートコンポーネントに分割され、いずれかのコンポーネントが割り当てを超えると、メモリー不足の問題が発生します。
通常、デフォルトでインストールされている initramfs ファイルシステムと vmlinux シンボルテーブルは、このような障害を回避するために割り当て制限内に抑えられています。ただし、システムで Firmware Assisted Dump (FADump) が有効になっている場合は、デフォルトの initramfs サイズが増加して 95 MB を超える可能性があります。これにより、システムを再起動するたびに GRUB OOM 状態になります。
この問題を回避するには、Secure Boot と FADump を一緒に使用しないでください。この問題の回避方法は、https://www.ibm.com/support/pages/node/6846531 を参照してください。
(BZ#2149172)
kmod の weak-modules がモジュールの相互依存関係で機能しない
kmod パッケージによって提供される weak-modules スクリプトは、どのモジュールがインストールされたカーネルと kABI 互換であるかを判別します。しかし、weak-modules は、モジュールのカーネル互換性をチェックする際に、モジュールシンボルの依存関係を、そのビルド対象のカーネルの新しいリリースから古いリリースの順に処理します。結果として、異なるカーネルリリースに対して構築された相互依存関係を持つモジュールは互換性がないと解釈される可能性があるため、weak-modules はこのシナリオでは機能しません。
この問題を回避するには、新しいカーネルをインストールする前に、最新のストックカーネルに対して追加のモジュールをビルドまたは配置します。
(BZ#2103605)
kdump サービスが IBM Z システムで initrd ファイルの構築に失敗する
64 ビットの IBM Z システムでは、s390- subchannels などの znet 関連の設定情報が非アクティブな NetworkManager 接続プロファイルに存在する場合、kdump サービスは初期 RAM ディスク (initrd) のロードに失敗します。その結果、kdump メカニズムは次のエラーで失敗します。
dracut: Failed to set up znet kdump: mkdumprd: failed to make kdump initrd
dracut: Failed to set up znet
kdump: mkdumprd: failed to make kdump initrd
回避策として、次のいずれかの解決策を使用してください。
znet設定情報を持つ接続プロファイルを再利用して、ネットワークボンディングまたはブリッジを設定します。nmcli connection modify enc600 master bond0 slave-type bond
$ nmcli connection modify enc600 master bond0 slave-type bondCopy to Clipboard Copied! Toggle word wrap Toggle overflow 非アクティブな接続プロファイルからアクティブな接続プロファイルに
znet設定情報をコピーします。nmcliコマンドを実行して、NetworkManager接続プロファイルを照会します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 非アクティブな接続からの設定情報でアクティブなプロファイルを更新します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更を有効にするために
kdumpサービスを再起動します。kdumpctl restart
# kdumpctl restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
kdump メカニズムは、LUKS 暗号化ターゲットで vmcore ファイルをキャプチャーできない
Linux Unified Key Setup (LUKS) で暗号化されたパーティションを使用するシステムで kdump を実行する場合、システムには一定量の使用可能なメモリーが必要です。使用可能なメモリーが必要なメモリー量より少ない場合、systemd-cryptsetup サービスはパーティションのマウントに失敗します。その結果、2 番目のカーネルは LUKS 暗号化ターゲット上のクラッシュダンプファイル (vmcore) のキャプチャに失敗します。
kdumpctl estimate コマンドを使用すると、kdump に必要な推奨メモリーサイズである 推奨クラッシュカーネル値 を照会できます。
この問題を回避するには、次の手順を使用して、LUKS 暗号化ターゲットで kdump に必要なメモリーを設定します。
推定
crashkernel値を出力します。kdumpctl estimate
# kdumpctl estimateCopy to Clipboard Copied! Toggle word wrap Toggle overflow crashkernelの値を増やして、必要なメモリー量を設定します。grubby --args=crashkernel=652M --update-kernel=ALL
# grubby --args=crashkernel=652M --update-kernel=ALLCopy to Clipboard Copied! Toggle word wrap Toggle overflow システムを再起動して、変更を反映させます。
reboot
# rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow
これにより、LUKS で暗号化したパーティションがあるシステムで kdump が正常に機能します。
(BZ#2017401)
起動時にクラッシュカーネルメモリーの割り当てに失敗する
特定の Ampere Altra システムでは、利用可能なメモリーが 1 GB 未満の場合に、起動中に kdump の使用に対してクラッシュカーネルメモリーの割り当てに失敗します。その結果、kdumpctl コマンドは kdump サービスの起動に失敗します。
この問題を回避するには、以下のいずれかを実行します。
-
crashkernelパラメーターの値を 240 MB 以上減らしてサイズ要件に合わせます (例:crashkernel=240M)。 -
crashkernel=x,highオプションを使用して、kdump用に 4 GB を超えるクラッシュカーネルメモリーを予約します。
その結果、Ampere Altra システムで kdump のクラッシュカーネルメモリー割り当てが失敗しなくなりました。
デフォルトでは、Delay Accounting 機能は SWAPIN および IO% 統計列を表示しません。
初期のバージョンとは異なり、Delayed Accounting 機能はデフォルトで無効になっています。その結果、iotop アプリケーションは SWAPIN および IO% 統計列を表示せず、次の警告を表示します。
CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO%
CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO%
taskstats インターフェイスを使用する Delay Accounting 機能は、スレッドグループに属するすべてのタスクまたはスレッドの遅延統計を提供します。タスク実行の遅延は、カーネルリソースが利用可能になるのを待つときに発生します。たとえば、空き CPU が実行されるのを待っているタスクです。統計は、タスクの CPU 優先度、I/O 優先度、および rss 制限値を適切に設定するのに役立ちます。
回避策として、実行時または起動時に delayacct 起動オプションを有効にできます。
実行時に
delayacctを有効にするには、次のように入力します。echo 1 > /proc/sys/kernel/task_delayacct
echo 1 > /proc/sys/kernel/task_delayacctCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドはシステム全体で機能を有効にしますが、このコマンドの実行後に開始したタスクに対してのみ有効であることに注意してください。
起動時に
delayacctを永続的に有効にするには、次のいずれかの手順を使用します。/etc/sysctl.confファイルを編集して、デフォルトのパラメーターをオーバーライドします。次のエントリーを
/etc/sysctl.confファイルに追加します。kernel.task_delayacct = 1
kernel.task_delayacct = 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、Red Hat Enterprise Linux で sysctl 変数を設定する方法 を参照してください。
- システムを再起動して、変更を反映させます。
GRUB 2 設定ファイルを編集して、デフォルトのパラメーターをオーバーライドします。
-
/etc/default/grubファイルのGRUB _CMDLINE_LINUXエントリーにdelayacctオプションを追加します。 grub2-mkconfigユーティリティーを実行して、ブート設定を再生成します。grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、カーネルコマンドラインを永続的に変更するにはどうすればよいですか? を参照してください。.
- システムを再起動して、変更を反映させます。
-
その結果、iotop アプリケーションは SWAPIN および IO% 統計列を表示します。
(BZ#2132480)
kTLS は、TLS 1.3 の NIC へのオフロードをサポートしない
Kernel Transport Layer Security (kTLS) は、TLS 1.3 の NIC へのオフロードをサポートしていません。そのため、NIC が TLS オフロードをサポートしていても、TLS 1.3 によるソフトウェア暗号化が使用されます。この問題を回避するには、オフロードが必要な場合は TLS 1.3 を無効にしてください。その結果、TLS 1.2 のみをオフロードすることができます。TLS 1.3 が使用されている場合、TLS 1.3 をオフロードすることができないため、パフォーマンスが低下します。
(BZ#2000616)
iwl7260-firmware により、Intel Wi-Fi 6 AX200、AX210、および Lenovo ThinkPad P1 Gen 4 で Wi-Fi が切断される
iwl7260-firmware または iwl7260-wifi ドライバーを RHEL 8.7 および/または RHEL 9.1 (およびそれ以降) によって提供されるバージョンに更新した後、ハードウェアが正しくない内部状態になります。状態を誤って報告します。その結果、Intel Wifi 6 カードが機能せず、次のエラーメッセージが表示される場合があります。
kernel: iwlwifi 0000:09:00.0: Failed to start RT ucode: -110 kernel: iwlwifi 0000:09:00.0: WRT: Collecting data: ini trigger 13 fired (delay=0ms) kernel: iwlwifi 0000:09:00.0: Failed to run INIT ucode: -110
kernel: iwlwifi 0000:09:00.0: Failed to start RT ucode: -110
kernel: iwlwifi 0000:09:00.0: WRT: Collecting data: ini trigger 13 fired (delay=0ms)
kernel: iwlwifi 0000:09:00.0: Failed to run INIT ucode: -110
未確認の回避策は、システムの電源をオフにしてから再度オンにすることです。再起動しないでください。
(BZ#2129288)
64 ビット ARM CPU で正しくコンパイルされたドライバーでのプログラム失敗に関して dkms が誤った警告を出す
Dynamic Kernel Module Support (dkms) ユーティリティーは、64 ビット ARM CPU のカーネルヘッダーが、ページサイズが 4 キロバイトのカーネルと 64 キロバイトのカーネルの両方で動作することを認識しません。その結果、dkms は、カーネルの更新時に kernel-64k-devel パッケージがインストールされていない場合、正しくコンパイルされたドライバーでプログラムが失敗した理由に関して誤った警告を出します。この問題を回避するには、kernel-headers パッケージをインストールします。このパッケージは、両タイプの ARM CPU アーキテクチャー用のヘッダーファイルを含むもので、dkms とその要件に特化したものではありません。
(JIRA:RHEL-25967)