4.7. カーネル
RHEL 9.4 のカーネルバージョン
Red Hat Enterprise Linux 9.4 は、カーネルバージョン 5.14.0-427.13.1 で配布されます。
rteval
は、デフォルトの測定 CPU リストに対する任意の CPU の追加および削除をサポートするようになりました
rteval
ユーティリティーを使用すると、--measurement-cpulist
パラメーターの使用時に、新しいリスト全体を指定するのではなく、デフォルトの測定 CPU リストに CPU を追加 (+ 記号を使用) または削除 (- 記号を使用) することができます。さらに、分離されたすべての CPU のセットをデフォルトの測定 CPU リストに追加するために --measurement-run-on-isolcpus
が導入されました。このオプションは、分離された CPU 上で実行されるリアルタイムアプリケーションの最も一般的なユースケースをカバーします。その他のユースケースでは、より一般的な機能が必要になります。たとえば、一部のリアルタイムアプリケーションでは、ハウスキーピングのために分離 CPU を 1 つ使用していました。当該 CPU は、デフォルトの測定 CPU リストから除外する必要がありました。その結果、デフォルトの測定 CPU リストに任意の CPU を追加するだけでなく、柔軟な方法で任意の CPU を削除することもできるようになりました。削除は追加よりも優先されます。このルールは、+/- 記号を使用して指定した CPU と、--measurement-run-on-isolcpus
で定義した CPU の両方に適用されます。
Jira:RHEL-9912[1]
rtla
がアップストリーム kernel
ソースコードのバージョン 6.6 にリベース
rtla
ユーティリティーが最新のアップストリームバージョンにアップグレードされ、複数のバグ修正および機能拡張が追加されました。主な変更点は、以下のとおりです。
-
メインの
rtla
スレッドとは別に、実行するrtla
スレッドの追加コントロールグループを指定する-C
オプションが追加されました。 -
rtla
スレッドをハウスキーピング CPU に配置し、測定スレッドを異なる CPU に配置する--house-keeping
オプションが追加されました。 -
timerlat hist
およびtimerlat top
スレッドをユーザー空間で実行できるように、timerlat
トレーサーのサポートが追加されました。
Jira:RHEL-10079[1]
cyclicdeadline
がレイテンシーのヒストグラムの生成をサポートするようになりました
このリリースでは、cyclicdeadline
ユーティリティーはレイテンシーのヒストグラムの生成をサポートします。この機能を使用すると、最悪のケースの数値を 1 つだけ取得するのではなく、さまざまなサイズのレイテンシースパイクの頻度についてより詳細な情報を得ることができます。
Jira:RHEL-9910[1]
SGX が完全にサポートされるようになりました
Software Guard Extensions (SGX) は、ソフトウェアコードおよび公開および修正からのデータを保護する Intel® テクノロジーです。
RHEL カーネルは、SGX バージョン 1 および 2 の機能を提供します。バージョン 1 では、Flexible Launch Control メカニズムを使用するプラットフォームで SGX テクノロジーを使用できるようになります。バージョン 2 では、Enclave Dynamic Memory Management (EDMM) が追加されています。主な変更には以下のものがあります。
- 一旦初期化されたエンクレーブに属する通常のエンクレーブページの EPCM 権限を変更します。
- 一旦初期化されたエンクレーブに通常のエンクレーブページを動的に追加します。
- より多くのスレッドを収容できるように一旦初期化されたエンクレーブを拡張します。
- 一旦初期化されたエンクレーブから通常のページと TCS ページを削除します。
このリリースでは、SGX はテクノロジープレビューから完全にサポートされる機能に移行します。
Bugzilla:2041883[1]
Intel データストリーミングアクセラレータードライバーが完全にサポートされるようになりました
Intel データストリーミングアクセラレータードライバー (IDXD) は、Intel CPU 統合アクセラレーターを提供するカーネルドライバーです。これには、プロセスアドレス空間 ID (pasid
) の送信および共有仮想メモリー (SVM) の共有ワークキューが含まれます。
このリリースでは、IDXD はテクノロジープレビューから完全にサポートされる機能に移行します。
Jira:RHEL-10097[1]
eBPF 機能が Linux カーネルバージョン 6.6 にリベース
注目すべき変更点と機能拡張は次のとおりです。
-
BPF プログラムでのデータおよび可変サイズのアクセスによる、より人間工学的で脆弱性の少ない反復が可能になる
skb
およびxdp
タイプの新しい動的ポインター (dynptrs
)。 -
新しい BPF
netfilter
プログラムタイプと、事前ルーティングや転送などのnetfilter
フックに BPF プログラムをフックするための最小限のサポート。 カーネルポインター (
kptrs
) に対する複数の改善点:-
kptrs
は、より多くの map タイプで使用できます。 -
タスク
kptrs
に対して RCU セマンティクスが有効化されます。 -
BPF
list
およびrbtree
の両方にノードを追加するのに役立つ、新しい参照カウントローカルkptrs
。
-
-
ロード時に、BPF プログラムは特定の
kfunc
が存在するかどうかを検出できます。 -
dynptr
、cgroups
、sockets
、cpumasks
を使用するためのいくつかの新しいkfuncs
。 -
複数の
uprobes
とusdt
プローブをアタッチするための新しい BPF リンク。これにより、速度が大幅に向上し、余分なファイル記述子 (FD) が節約されます。 -
BPF
map
要素カウントは、すべてのプログラムタイプで有効になります。 -
すべての BPF
map
タイプのメモリー使用量レポートがより正確になります。 -
bpf_fib_lookup
BPF ヘルパーには、ルーティングテーブル ID が含まれます。 -
BPF_OBJ_PIN
およびBPF_OBJ_GET
コマンドはO_PATH
FD をサポートします。
Jira:RHEL-10691[1]
libbpf-tools パッケージが IBM Z で利用可能になりました
BPF Compiler Collection (BCC) 用のコマンドラインツールを提供する libbpf-tools
パッケージが、IBM Z アーキテクチャーで利用できるようになりました。その結果、IBM Z で libbpf-tools
のコマンドを使用できるようになりました。
Jira:RHEL-16325[1]