6.7. カーネル
RHEL 10.1 のカーネルバージョン
Red Hat Enterprise Linux 10.1 には、カーネルバージョン 6.12.0-124.8.1 が同梱されています。
Perf コアカウンターが Intel Panther Lake CPU でサポートされるようになりました
以前は、ユーザーは Intel Panther Lake CPU 上の perf コアカウンターを使用してハードウェアイベントを監視できませんでした。perf パッケージに Panther Lake サポートが追加されたため、ユーザーはこのマイクロアーキテクチャー上のハードウェアイベント監視にアクセスできるようになります。
Jira:RHEL-47451[1]
問題となるレイテンシーをより良く追跡するために、rteval のデフォルトの測定モジュールが rtla timerlat になりました
この機能拡張により、問題となる遅延の原因を簡単に特定できるようになりました。目的の cyclictest 測定モジュールは、rteval.config ファイルを使用して選択できます。
Jira:RHEL-97541[1]
kpatch-dnf プラグインが更新され、カーネル管理が改善されました
この更新前は、kpatch-dnf プラグインで、カーネルのアップグレードと kpatch のサポート状況の整合性が取れていませんでした。その結果、管理者は kpatch でサポートされていないカーネルをインストールまたはアップグレードするおそれがありました。これにより、サポートされていないカーネルを実行し、システムの安定性が低下するリスクが高まっていました。
この更新により、kpatch-dnf プラグインが更新され、管理者が kpatch でサポートされているカーネル更新に集中できるようになりました。その結果、システムのアップグレードの信頼性が向上し、全体的な安定性が向上します。
Jira:RHEL-85686[1]
perf ツールがアップストリーム v6.14 にリベースされました
perf ツールとそのカーネルバックエンドが、アップストリームバージョン v6.14 に合わせてリベースされました。この更新では、いくつかの機能拡張とバグ修正が導入されています。主なものは次のとおりです。
- RAPL コードのメモリーリークの問題を修正しました。
- AMD のコアごとのエネルギー追跡サポートを追加しました。
-
perf traceのメモリーリークを修正しました。 -
perfツールに Processor Trace Trigger Tracing (PTTT) のサポートが追加されました。 - クリアモードで RDPMC メトリクスがサポートされるようになりました。
-
perfツールに、ARL-U プラットフォーム向けの RAPL エネルギーイベントのサポートが追加されました。
これらの変更により、パフォーマンス分析が改善され、perf ツールの既知の問題が解決されます。
Jira:RHEL-77936[1]
virtio デバイスのサポートが追加されました
この更新前は、KVM ゲスト内の virtio デバイスが、すべて generic-ccw タイプとしてリスト表示されていました。この機能拡張により、lszdev コマンドを使用して、どのデバイスタイプがどのデバイス番号に接続されているかを簡単に特定できるようになりました。
また、この機能拡張により、Red Hat Enterprise Linux 10.0.z を対象とした chpstat に関する追加の修正も導入されます。これにより、レポート (s390utils および s390-tools) の DPU 使用率のスケーリングが改善されます。
Jira:RHEL-73341[1]
kernel での Intel Arrow Lake U RAPL エネルギーイベントのサポート
kernel パッケージが、Intel Arrow Lake U マイクロアーキテクチャーの RAPL (Running Average Power Limit) エネルギーパフォーマンスカウンターをサポートするようになりました。この機能拡張により、perf ツールが Arrow Lake U プラットフォームの電力消費イベントを識別し、CPU コア、GPU、パッケージ、およびシステムドメインのエネルギー使用量を監視できるようになりました。
Jira:RHEL-53584[1]
アダプティブ PEBS により、Intel Panther Lake 上の perf でカウンタースナップショットのサポートが有効になりました
この更新前は、Linux カーネルの perf ツールは、パフォーマンスイベントデータを収集するために、ソフトウェアベースのサンプル読み取りに依存していました。この方法では、イベントがオーバーフローした後にカウンターを読み取ると、わずかなタイミングのずれと追加のオーバーヘッドが発生していました。この更新により、Intel Panther Lake CPU で、アダプティブ PEBS によるカウンタースナップショットが利用できるようになります。この機能により、カーネルは、PEBS フォーマットバージョン 6 を使用して、プログラマブルカウンター、固定機能カウンター、およびパフォーマンスメトリクスを PEBS レコードに直接記録します。
その結果、カウンタースナップショットは、ソフトウェアサンプル読み取りに代わる、より正確かつ低オーバーヘッドな手法となりました。これにより、パフォーマンスの監視および分析能力が向上します。
Jira:RHEL-47443[1]
Intel Trace Hub が Intel Panther Lake をサポートするようになりました
この更新前は、kernel パッケージが Intel Trace Hub の Intel Panther Lake (P、H、U バリアント) をサポートしていませんでした。この更新により、Panther Lake プラットフォームのデバイス ID が kernel パッケージの Intel Trace Hub に追加されました。
その結果、Panther Lake ベースのシステムで、Intel Trace Hub 機能を使用してデバッグおよびトレース機能を強化できます。
Jira:RHEL-47423[1]
Intel Clearwater Forest の Perf uncore イベントのサポート
perf パッケージに、Clearwater Forest マイクロアーキテクチャー上での uncore イベント監視機能が追加されました。この機能拡張により、perf パッケージは Clearwater Forest システム上での uncore イベント監視をサポートするようになりました。その結果、ユーザーはサポートされているハードウェア上で詳細なパフォーマンス分析とデバッグを実行できるようになりました。
Jira:RHEL-45094[1]
Intel Clearwater Forest の Perf core イベントのサポート
perf パッケージに、Clearwater Forest マイクロアーキテクチャー上での core イベント監視機能が追加されました。その結果、ユーザーは perf を使用して Intel Clearwater Forest システム上の core レベルのパフォーマンスイベントを監視および分析できるようになりました。
Jira:RHEL-45092[1]
AMD Milan CPU が、RAPL perf イベントによるコアごとのエネルギー追跡をサポートするようになりました
この更新前は、AMD システムのエネルギー監視がパッケージレベルの測定に限定されていました。この更新により、kernel パッケージが、AMD Milan CPU 上で Running Average Power Limit (RAPL) パフォーマンスイベントを通じて、コアごとのエネルギー追跡をサポートするようになりました。その結果、個々のコアレベルでエネルギー消費を測定および分析し、よりきめ細かなパフォーマンスと電力管理が可能になります。
Jira:RHEL-24184[1]
Intel Arrow Lake H マイクロアーキテクチャーのサポートが intel_th に追加されました
この更新前は、Intel Trace Hub が Arrow Lake H NPK デバイス ID を認識していませんでした。そのため、このハードウェアを使用するシステムのトレースおよびデバッグ機能が制限されていました。この更新により、intel_th パッケージが Intel Trace Hub において Intel Arrow Lake H マイクロアーキテクチャーをサポートするようになりました。この新しいサポートにより、ユーザーは Arrow Lake H プラットフォーム上で強化されたトレース機能とデバッグ機能を利用できます。
Jira:RHEL-20109[1]
kernel で Intel Arrow Lake H の PerfMon サポートが有効になりました
この更新により、kernel パッケージは、Intel Arrow Lake H マイクロアーキテクチャー上で、Core、Uncore、Cstate、および MSR 機能に対する PerfMon サポートを提供するようになりました。その結果、perf ツールを使用して、Arrow Lake H システムに固有のパフォーマンスメトリクスを監視および分析できるようになりました。
Jira:RHEL-20093[1]
KVM モジュールがリアルタイムカーネルパッケージに統合されました
この更新により、Realtime Kernel をベース RHEL のデプロイメントオプションにするという決定に合わせて、RHEL の Realtime Kernel 用 KVM モジュールパッケージの生成が削除されます。この変更により、KVM モジュールが Realtime Kernel パッケージに直接統合され、個別の kernel-rt-kvm パッケージが不要になるため、デプロイメントプロセスが合理化されます。その結果、RHEL に Realtime Kernel をデプロイする際のセットアップ作業がよりシームレスで効率的になり、全体的なユーザーエクスペリエンスが向上します。
Jira:RHEL-62687[1]
perf ツールに Processor Trace Trigger Tracing (PTTT) のサポートが追加されました
この更新により、Processor Trace (PT) Trigger Tracing が導入され、パフォーマンス分析が向上します。これにより、ソフトウェアが、トレースアクティビティーを一時停止および再開するためのトリガーポイントとして、特定のイベントを選択できるようになり、パフォーマンス監視の効率と精度が向上します。これにより、より効率的で的を絞ったトレースが可能になり、最終的にはアプリケーションのパフォーマンスをより明確に把握できるようになります。
Jira:RHEL-45090[1]
python-drgn がバージョン 0.0.31 にリベースされました
python-drgn がバージョン 0.0.31 にリベースされました。この更新では、いくつかの機能拡張と新機能が導入されています。
-
debuginfodのサポートが追加されました。これにより、debuginfod サーバーからデバッグ情報を自動的に取得できるようになりました。 - 拡張性と統合機能が向上した新しいモジュール API。
- デバッグシンボルなしでのカーネルスタックのアンワインド。これにより、デバッグシンボルが利用できない場合でも、スタックトレースを生成できます。
変更の完全なリストは、アップストリームの変更ログを参照してください。
eBPF サブシステムがバージョン 6.14 にリベースされました
eBPF サブシステムが、Linux カーネルのアップストリームバージョン v6.14 にリベースされました。このバージョンには、次の変更と機能拡張が含まれています。
-
uprobeセッションプローブのサポート。 -
eBPF ヘルパーおよびカーネル関数 (
kfuncs) の特別なアノテーションであるbpf_fastcallのサポート。これにより、eBPF ヘルパーとカーネル関数の実行を最適化できます。 -
新しい
kmem_cacheeBPF イテレーターにより、eBPF プログラムが/proc/slabinfoまたは/sys/kernel/slab内のエントリーを反復処理できます。 - 条件を満たす eBPF プログラムでのプライベートスタックのサポート。これにより、ネストされた eBPF プログラムでのカーネルスタックオーバーフローを防ぐことができます。
- eBPF 検証の改善。これにより、静的に既知のマップ検索キーに対する NULL チェックをプログラムが省略できるようになりました。
-
bpf_probe_write_userの使用時に表示される"helper that may corrupt user memory!"という警告メッセージを削除しました。 -
末尾呼び出しと
freplaceを組み合わせて使用した際に発生する無限ループを防止します。 - NULL 引数を持つ raw トレースポイントに eBPF プログラムをアタッチする際に発生する可能性があるカーネルクラッシュを回避します。
-
bpf_timerの破棄手順により問題が発生していましたが、リベースによって修正されました。 -
bpf_local_storageがkmallocの使用を防止する問題があり、リアルタイムカーネルで eBPF を使用する際に"sleeping function called from invalid context"という問題を引き起こしていました。
Jira:RHEL-78201[1]
perf ツールがアップストリーム v6.15 にリベースされました
perf ツールとそのカーネルバックエンドが、アップストリームバージョン v6.15 に合わせてリベースされました。この更新では、いくつかの機能拡張とバグ修正が導入されています。主なものは次のとおりです。
-
perf annotateに--code-with-typeオプションが追加され、ポインターからのデータ構造のデコードが可能になりました。 -
s390
cpum_sfおよびcpum_cfコンポーネントをリファクタリングしました。 -
perf traceのメモリーリークを修正しました。 - RISCV CPU のハードウェアイベントのサポートを導入しました。
-
python-perfモジュールの機能を拡張しました。 -
親プロセスと子プロセスごとのワークロードを表示するように
perf reportを強化しました。 - さまざまな Intel CPU の PMU イベントとメトリクスを更新しました。
- Intel プラットフォームで Processor Trace (PT) Trigger Tracing を有効にしました。
これらの変更により、パフォーマンス分析が改善され、ハードウェアのサポートが拡張され、perf ツールの既知の問題が解決されます。
Jira:RHEL-78197[1]
crash が 9.0.0 にリベースされました
ライブシステムおよび各種のダンプファイル用のカーネル分析ユーティリティーを提供する crash パッケージが、アップストリームバージョン 9.0.0 にリベースされました。このバージョンでは、いくつかの修正と機能拡張が行われています。主なものは次のとおりです。
-
内部の
gdbデータベースがバージョン 16.2 に更新されました。 -
crashユーティリティーがクロスコンパイルをサポートするようになりました。
デフォルト設定で rng-tools のジッターエントロピーソースが無効になります
rng-tools のジッターエントロピーソースがデフォルトで無効になりました。最新の CPU はハードウェアのエントロピーソースを備えています。また、ほとんどの仮想マシンは、仮想ホストから提供されるエントロピーソースとして /dev/hwrng デバイスを利用できます。このような環境では、ジッターエントロピーソースにより、CPU サイクルが無駄に消費されます。ハードウェアエントロピーソースのない古いハードウェアの場合は、/etc/sysconfig/rngd でジッターエントロピーソースを明示的に有効にできます。
その結果、rngd デーモンが、ハードウェアエントロピーソースを持つシステム上で CPU サイクルを無駄に消費しなくなりました。
stalld が dl-server の動作と競合しなくなりました
このリリースでは、stalld 機能がホストカーネル内の dl-server を検出し、dl-server が実行できなかったタスクのみをブーストします。現在、dl-server は FIFO タスクをブーストしません。システムをアップグレードする際には、stalld を引き続き使用し、dl-server を無効にしても構いません。dl-server は、処理が滞っているタスクを実行する唯一のエンティティーです。