12.3. カーネルへの注目すべき変更

64k ページサイズのカーネル

4k ページをサポートする RHEL 9 for ARMカーネルに加えて、Red Hat は 64k ページをサポートするオプションのカーネルパッケージ kernel-64k を提供するようになりました。

64k ページサイズのカーネルは、ARM プラットフォーム上の大規模なデータセットに便利なオプションです。これにより、メモリーや CPU を大量に消費する一部の操作のパフォーマンスが向上します。

64 ビット ARM アーキテクチャーシステムでは、インストール時にページサイズを選択する必要があります。kernel-64k パッケージを Kickstart ファイルのパッケージリストに追加すると、Kickstart のみで kernel-64k をインストールできます。

kernel-64k のインストールの詳細については、高度な RHEL 9 インストールの実行 を参照してください。

RHEL 9 では、デフォルトで有効になっている cgroup-v2

コントロールグループバージョン 2 (cgroup-v2) 機能は、制御グループの管理を簡素化する 1 つの階層モデルを実装します。また、プロセスが、一度に 1 つのコントロールグループのメンバーにのみなれるようにします。systemd との深い統合により、RHEL システムでリソース制御を設定する際のエンドユーザーエクスペリエンスが改善されます。

新機能の開発は、主に cgroup-v2 向けに行われます。これには、cgroup-v1 に欠けている機能がいくつかあります。同様に、cgroup-v1 には、cgroup-v2 に欠けている従来の機能がいくつか含まれています。また、制御インターフェイスも異なります。したがって、cgroup-v1 に直接依存するサードパーティーソフトウェアは、cgroup-v2 では適切に実行されない可能性があります。

cgroup-v1 を使用するには、以下のパラメーターをカーネルコマンドラインに追加する必要があります。

systemd.unified_cgroup_hierarchy=0
systemd.legacy_systemd_cgroup_controller
注記

cgroup-v1cgroup-v2 の両方がカーネルで完全に有効になっている。カーネルから見た場合、デフォルトのコントロールグループバージョンはありません。また、システムの起動時にマウントするかどうかは、systemd により決定します。

サードパーティーのカーネルモジュールに影響を与える可能性のあるカーネル変更

5.9 以前のカーネルバージョンを持つ Linux ディストリビューションは、GPL 以外の機能としての GPL 機能のエクスポートに対応していました。これにより、ユーザーは shim メカニズムを介して、独自の機能を GPL カーネル機能にリンクできます。今回のリリースで、RHEL カーネルにアップストリームの変更が組み込まれました。これにより、RHEL の機能が強化され、shim の再バフィングにより GPL が適用されるようになりました。

重要

パートナーおよび独立したソフトウェアベンダー (ISV) は、初期バージョンの RHEL 9 でカーネルモジュールをテストして、GPL への準拠を確認する必要があります。

コアスケジューリングは RHEL 9 でサポートされている

コアスケジューリング機能を使用すると、相互に信頼できないタスクが同じ CPU コアを共有するのを防ぐことができます。同様に、ユーザーは CPU コアを共有できるタスクのグループを定義できます。

以下のグループを指定できます。

  • SMT (Cross-Symmetric Multithreading) 攻撃を軽減することでセキュリティーを改善するには、以下の手順を行います。
  • コア全体を必要とするタスクを分離するには、以下を行います。たとえば、リアルタイム環境のタスク、または SIMD (Multiple Data) 処理や Single Instruction などの特定のプロセッサー機能に依存するタスクなど。

詳細は コアスケジューリング を参照してください。

kernelopts 環境変数は RHEL 9 で削除された

RHEL 8 では、GRUB2 ブートローダーを使用するシステムのカーネルコマンドラインパラメーターが kernelopts 環境変数で定義されていました。変数は、カーネルブートエントリーごとに /boot/grub2/grubenv ファイルに保存されました。ただし、kernelopts を使用してカーネルコマンドラインパラメーターを保存することは堅牢ではありませんでした。そのため、Red Hat は kernelopts を削除し、カーネルコマンドラインパラメーターは、/boot/loader/entries/<KERNEL_BOOT_ENTRY>.conf ファイルではなく、ブートローダー仕様 (BLS) スニペットに保存されるようになりました。

Red Hat は、マイナーリリースに対してのみカーネルシンボルを保護します。

Red Hat は、保護されたカーネルシンボルを使用してカーネルモジュールをコンパイルする場合にのみ、カーネルモジュールが Extended Update Support (EUS) リリース内の将来のすべての更新でロードされ続けることを保証します。RHEL 9 のマイナーリリース間では、カーネルアプリケーションバイナリーインターフェイス (ABI) の保証はありません。