3.8. カーネル
RHEL 9.6 のカーネルバージョン
Red Hat Enterprise Linux 9.6 には、カーネルバージョン 5.14.0-570.12.1 が同梱されています。
eBPF 機能が Linux カーネルバージョン 6.12 にリベース
主な変更点と機能拡張は次のとおりです。
- BPF トークンは、特権のあるシステム全体のデーモンから信頼できる非特権アプリケーションへの BPF 機能のサブセットの委譲をサポートします。
- BPF アリーナは、BPF プログラムとユーザー空間の間で共有されるスパースなメモリー領域で、このアリーナ内のポインタがシームレスに機能するように設計されています。
-
may_goto
命令は、verifier とプログラムとの間の contract です。verifier は、ほとんどの状況で (ループが正常に動作することを条件に) プログラムがループを実行することを許可しますが、それを停止する権限を保持します。 - スピンロックのクリティカルセクションでの静的サブプログラム呼び出しに対する BPF verifier のサポート。
-
プログラムが関数のエントリーとリターンの両方にアタッチされるセッションモードで
kprobe
BPF プログラムをアタッチするためのサポート。エントリープログラムは、リターンプログラムが実行されるかどうかを決定でき、プログラムはu64
Cookie 値を共有できます。 - 従来のトレースポイントから raw のトレースポイントへの移行を容易にするために、raw のトレースポイントプログラムの BPF Cookie を指定して取得する機能。
-
イベントの遅延処理を行うメカニズムを提供するために、新たに
bpf_wq
API が導入されました。 -
暗号化 API の呼び出し、プリエンプションの有効化/無効化、汎用的なビットイテレーター、およびさまざまな VFS 操作のために、いくつかの新しい
kfuncs
(BPF プログラムから呼び出し可能なカーネル関数) が追加されました。 -
BPF プログラムからの
kptr
、bpf_rb_root
、およびbpf_list_head
の配列の宣言をサポートします。 -
実行中のカーネルの
kfuncs
の検出とコンパイル可能なkfunc
プロトタイプのダンプをサポートします。 - PowerPC 用の 64 ビット BPF v4 CPU 命令のサポート。
- モジュールからの BTF に関して、重複を削減し、可能な限りコンパクトにする復元力のある分割 BTF をサポートします。
Jira:RHEL-63880[1]
cgroup.stat
から各 cgroup のインスタンス数を表示する
cgroup v2
の場合、cgroup.stat
制御ファイルが強化され、統一階層内の各 cgroup サブシステムのインスタンス数 (終了間際のものも含む) を表示できるようになりました。
各 cgroup サブシステムの cgroup 数を表示するために使用される /proc/cgroups
ファイルは、cgroup v1
用に設計されています。cgroup v2
では、/proc/cgroups
で提供される情報は適用されなくなりました。このファイルは cgroup v2
で非推奨となりました。
ルート cgroup の cgroup.stat
ファイルを使用して、正しい数の cgroup サブシステムを取得します。これは、cgroup v2
の /proc/cgroups
に代わるものです。
Jira:RHEL-36267[1]
rtla-timerlat
テスト中に CPU でアイドル状態をローカルで無効にする新しいオプション: deepest-idle-state
-
deepest-idle-state
の引数は、許可される最も深いアイドル状態の番号です。引数の値が -1 の場合、すべての CPU でアイドル状態が無効になります。 -
rtla-timerlat
では、CPU をグローバルにアイドル状態にしないようにするために/dev/cpu_dma_latency
を使用する代わりに、測定を実行している CPU に対して許可される最も深いアイドル状態を設定するためのdeepest-idle-state
オプションが追加されました。
その結果、rtls-timerlat
テスト中にリアルタイムのワークロードを反映しつつ電力を節約でき、CPU をグローバルに無効化する /dev/cpu_dma_latency
の代わりに deepest-idle-state
を使用できるようになりました。
Jira:RHEL-69522[1]
kpatch-dnf
プラグインが更新され、カーネル管理が改善される
更新された kpatch-dnf
プラグインにより、カーネルのアップグレードは kpatch サポートと緊密に連携するようになりました。管理者は、kpatch でサポートされているカーネル更新に重点を置く柔軟性を得ることができ、システムのアップグレードの信頼性と全体的な安定性が向上します。
Jira:RHEL-77113[1]
rteval
ユーティリティーのコンテナー化
この更新により、Quay.io コンテナーレジストリーを通じて公開されているコンテナーイメージから、すべてのランタイム依存関係とともに rteval
ユーティリティーを実行できるようになります。この機能により、たとえば次のことも可能になります。
-
古いバージョンの RHEL でも新しいバージョンの
rteval
を利用できるようにする、柔軟なデプロイメント手法を使用します。 -
同じホストまたは複数のホスト上で複数の
rteval
インスタンスを実行します。 -
特定のシステムリソースを
rteval
に割り当て、リソースの使用状況をきめ細かく制御できるようにします。
または、dockerfile テンプレートを使用して、rteval
で独自のコンテナーイメージをビルドすることもできます。この dockerfile と詳細情報が記載された README ファイルは、アップストリームリポジトリー にあります。
Jira:RHEL-9909[1]
Lenovo ハードウェア用の TPM_TIS
がアップストリーム 6.7 にリベース
このリリースでは、Trusted Platform Module (TPM) Integration Services (TPM_TIS
) ファームウェアの更新バージョンがアップストリームバージョン 6.7 に導入されています。この更新は、RHEL 9.6 の安定性とセキュリティーの機能拡張に対応しています。
Jira:RHEL-52747[1]
kdump
が 6.10 にリベース
この更新には、クラッシュダンプに関連する 6.10 カーネルの最新の改善、バグ修正、機能が組み込まれています。
新しい Linux Security Module (LSM) である Landlock がリリースされる
RHEL 9.6 では、コンテナーをより安全にする新しいセキュリティー機能である Landlock が導入されています。Landlock は、Podman などのプロセスに対してカーネル API を介したファイルシステムへのアクセスを制限するための厳格なルールを設定し、特権レベルに関係なくルールを定義して、ユーザーがプロセスのアクセス可能な範囲にハードリミットを作成できるようにします。
Landlock を使用すると、設定が間違っているか、悪意のあるプロセスに関連する潜在的なリスクを軽減するプログラムを構築できます。これにより、コンテナーとシステム全体のセキュリティーが向上します。
システム障害を防ぐために kdump
手順を検証する新しい統合テスト
この機能拡張により、ソフトウェアまたはハードウェアの更新後にログファイルで kdump
手順を確認し、システム障害を防ぐことができます。出力ログファイルの分析後、メモリーの問題
や 一部のドライバーのブラックリスト
などの設定エントリーが修正され、kdump
手順が検証されて vmcore
が生成されます。これにより、ソフトウェアまたはハードウェアの更新後にシステムがクラッシュする前に、kdump
手順が検証され、修正されます。
Jira:RHEL-32060[1]
新しい timerlat-interval INTV_US
および cyclictest-interval INTV_US
オプション
この機能拡張により、rteval
コマンドの次の新しいオプションを使用して、timerlat
または cyclictest
スレッドの実行時に基本間隔オプションまたは定期間隔オプションを変更できるようになりました。
-
timerlat-interval INTV_US
-
cyclictest-interval INTV_US
rteval
でこれらのオプションのいずれも使用しない場合は、デフォルト値の 100 マイクロ秒が適用されることに注意してください。
Jira:RHEL-67423[1]
cyclictest
によるレイテンシーテストでアイドル状態をローカルに無効にする新しいオプション
-
cyclictest
ツールは、アイドル状態から復帰するときにレイテンシーの増加を回避するために、デフォルトで/dev/cpu_dma_latency
を 0 に設定し、すべての CPU のアイドル状態を無効にします。 -
新しい
deepest-idle-state
オプションは、テスト用に選択された CPU のアイドル状態のみを無効にします。引数は、許容される最も深いアイドル状態を指定します。これを-1
に設定すると、測定対象の CPU 上のすべてのアイドル状態が無効になります。 -
cyclictest
を使用したチューニングは、リアルタイムワークロードテストを反映することになっているため、CPU アイドル状態を無効にするために/dev/cpu_dma_latency
を使用する代わりにdeepest-idle-state
を使用すると、リアルタイムワークロードが実行中の CPU のアイドル状態のみを無効にするというユースケースが反映されます。 -
その結果、すべてのユースケースに対応する
cyclictest
の範囲が拡大し、消費電力が削減されます。
Jira:RHEL-65487[1]
NVMf-FC
kdump が IBM Power でサポートされるようになる
NVMf-FC
kdump は、kexec-tools
を実行するために IBM Power システムをサポートするようになりました。これにより、NVMe ストレージデバイスを使用してファイバーチャネルネットワーク経由でシステムメモリーダンプをキャプチャーし、クラッシュダンプデータのストレージに高速かつ低遅延でアクセスできるようになります。
Jira:RHEL-11471[1]