第44章 カーネル
トレースのための eBPF
システムコール
Red Hat Enterprise Linux 7.6 では、eBPF (Extended Berkeley Packet Filter) ツールがテクノロジープレビューとして導入されます。このツールは、トレーシングサブシステムに対してのみ有効になります。詳細については、https://access.redhat.com/articles/3550581 にある Red Hat ナレッジベースの記事を参照してください。(BZ#1559615、BZ#1559756、BZ#1311586)
HMM (heterogeneous memory management) 機能がテクノロジープレビューとして利用可能に
Red Hat Enterprise Linux 7.3 では、テクノロジープレビューとして heterogeneous memory management (HMM) 機能が導入されました。この機能は、プロセスアドレス空間を独自のメモリー管理ユニット (MMU) にミラーする必要のあるデバイスのヘルパーレイヤーとして、カーネルに追加されています。これにより、CPU 以外のデバイスプロセッサーは、統一システムアドレス空間を使用してシステムメモリーを読み取ることができます。この機能を有効にするには、
experimental_hmm=enable
をカーネルコマンドラインに追加します。(BZ#1230959)
criu がバージョン 3.5 にリベース
Red Hat Enterprise Linux 7.2 では、テクノロジープレビューとして
criu
ツールが導入されました。このツールは、実行中のアプリケーションをフリーズさせ、ファイルの集合としてこれを保存する Checkpoint/Restore in User-space (CRIU)
を実装します。アプリケーションは、後にフリーズ状態から復元できます。
criu
ツールは Protocol Buffers
に依存することに注意してください。これは、構造化データをシリアル化するための、言語とプラットフォームに中立的な拡張性のあるメカニズムです。依存パッケージを提供する protobuf パッケージと protobuf-c パッケージも、Red Hat Enterprise Linux 7.2 にテクノロジープレビューとして導入されています。
Red Hat Enterprise Linux 7.6 では、criu パッケージがアップストリームバージョン 3.9 にアップグレードされ、多くのバグ修正と runC コンテナーランタイムの最適化が提供されます。さらに、64 ビット ARM アーキテクチャーおよび IBM Power Systems CPU アーキテクチャーのリトルエンディアンバリアントのサポートが修正されました。(BZ#1400230, BZ#1464596)
kexec
がテクノロジープレビューとして利用可能に
kexec
システムコールはテクノロジープレビューとして提供されています。このシステムコールを使用すると現在実行中のカーネルから別のカーネルを読み込んだり、起動したりすることが可能で、カーネル内のブートローダーとして機能します。通常はシステム起動中に実行されるハードウェアの初期化が kexec
の起動中に行われないため、再起動にかかる時間が大幅に短縮されます。(BZ#1460849)
テクノロジープレビューとしての kexec fast
reboot
Red Hat Enterprise Linux 7.5 で導入された
kexec fast reboot
機能は、引き続きテクノロジープレビューとして利用できます。kexec fast reboot
を使用するとシステムの再起動の速度が大幅に向上します。この機能を使用するには、kexec カーネルを手動で読み込んでから、オペレーティングシステムを再起動する必要があります。kexec fast reboot
をデフォルトの再起動アクションにすることはできません。特例は、Anaconda
に kexec fast reboot
を使用する場合です。この場合でも、kexec fast reboot
をデフォルトにすることはできません。ただし、Anaconda
と併用すると、anaconda オプションを使用してカーネルを起動してインストールが完了したあと、オペレーティングシステムが自動的に kexec fast reboot
を使用します。kexec の再起動スケジュールを設定するには、カーネルコマンドラインの inst.kexec コマンドを使用するか、キックスタートファイルに reboot --kexec 行を追加します。(BZ#1464377)
perf cqm
が resctrl
に置き換え
Intel Cache Allocation Technology (CAT) が Red Hat Enterprise Linux 7.4 でテクノロジープレビューとして導入されました。ただし、perf インストラクチャーと CQM (Cache Quality of Service Monitoring) ハードウェアサポートの不整合により、
perf cqm
ツールが正常に機能しませんでした。したがって、perf cqm
の使用時にさまざまな問題が生じていました。
主な問題は以下のとおりです。
perf cqm
が、resctrl
を使用して割り当てたタスクのグループに対応しない- リサイクルに関するさまざまな問題により、
perf cqm
が不規則で不正確なデータを提供する - 異なるタイプのイベント (例: タスク、全システム、cgroup イベント) を同時に実行する場合に、
perf cqm
のサポートが不十分である - cgroup イベントに対して
perf cqm
は部分的なサポートしか提供しない - cgroup イベントが階層構造を持つ場合、または cgroup 内のタスクと cgroup を同時に監視する場合、cgroup イベントに対する部分的なサポートが機能しない
- ライフタイムの監視タスクにより
perf
オーバーヘッドが発生する perf cqm
がソケット全体のキャッシュ占有の集計値またはメモリー帯域幅を報告するが、多くのクラウドおよび VMM ベースのユースケースでは、ソケットごとの使用状況が求められる
Red Hat Enterprise Linux 7.5 で、
perf cqm
が、resctrl
ファイルシステムをベースにしたアプローチで置き換えられ、上述の問題にすべて対応しました。(BZ#1457533, BZ#1288964)
TC HW オフロード処理がテクノロジープレビューとして利用可能に
Red Hat Enterprise Linux 7.6 以降、トラフィック制御 (TC) ハードウェアのオフロードがテクノロジープレビューとして利用できます。
ハードウェアのオフロード処理は、シェーピング、スケジューリング、ポリシング、破棄など、選択したネットワークトラフィック処理の機能が、ソフトウェア処理を待たずにハードウェアで直接実行されるようになり、パフォーマンスが改善しました。(BZ#1503123)
AMD xgbe
ネットワークドライバーがテクノロジープレビューとして利用可能に
Red Hat Enterprise Linux 7.6 以降、AMD
xgbe
ネットワークドライバーがテクノロジープレビューとして利用できます。(BZ#1589397)