5.4.7. カーネル

サブセクションのメモリーホットプラグが完全にサポートされるようになりました。

以前のリリースでは、デュアルインラインモジュール (DIMM) やインターリーブなど、調整された物理メモリー領域が 64MiB メモリー境界に設定されているものがありました。ただし、Linux ホットプラグサブシステムは 128MiB のメモリーサイズを使用するため、新しいデバイスをホットプラグすると、複数のメモリー領域が 1 つのホットプラグメモリーウィンドウに重なっていました。そのため、以下または同様の呼び出しトレースの、利用可能な永続メモリー名前空間を一覧表示できませんでした。

WARNING: CPU: 38 PID: 928 at arch/x86/mm/init_64.c:850
add_pages+0x5c/0x60
    [..]
    RIP: 0010:add_pages+0x5c/0x60
    [..]
    Call Trace:
     devm_memremap_pages+0x460/0x6e0
     pmem_attach_disk+0x29e/0x680 [nd_pmem]
     ? nd_dax_probe+0xfc/0x120 [libnvdimm]
     nvdimm_bus_probe+0x66/0x160 [libnvdimm]

今回の更新で問題が修正され、複数のメモリー領域が単一のホットプラグメモリーウィンドウを共有できるように Linux ホットプラグサブシステムをサポートするようになりました。

(BZ#1724969)

データの破損の場合、WARN メッセージではなく BUG がトリガーされるようになりました。

今回の機能強化により、lib/list_debug.c でリストが破損すると、BUG がトリガーされ、vmcore でレポートが生成されるようになりました。以前は、データの破損に遭遇すると、単純な WARN が生成されていましたが、これは見過ごされやすいものでした。CONFIG_BUG_ON_DATA_CORRUPTION を設定することで、カーネルがデータ破損に反応して、クラッシュを作成し、BUG をトリガーするようになりました。これにより、さらなる損傷が回避され、セキュリティーリスクが低減されます。kdumpvmcore を生成するようになり、データ破損のバグレポートが改善されました。

(BZ#1714330)

Intel Carlsville カードのサポートが追加されましたが、RHEL 8.2 で検証されていません。

Intel Carlsville カードのサポートを利用できるようになりましたが、Red Hat Enterprise Linux 8.2 でテストされていません。

(BZ#1720227)

RPS および XPS は、分離された CPU にジョブを配置しなくなりました

以前は、Receive Packet Steering (RPS) ソフトウェアキューメカニズムと Transmit Packet Steering (XPS) 送信キュー選択メカニズムが、分離された CPU を含むすべての CPU セットにジョブを割り当てていました。その結果、遅延の影響を受けやすいワークロードが RPS または XPS ジョブが実行されているのと同じ CPU を使用していた場合は、リアルタイム環境で予期しない遅延スパイクが発生する可能性がありました。今回の更新により、store_rps_map() 関数には、RPS 設定の目的で分離された CPU が含まれなくなりました。同様に、XPS 設定に使用されるカーネルドライバーは、CPU 分離を考慮しています。その結果、RPS および XPS は、説明されているシナリオで分離された CPU にジョブを配置しなくなりました。/sys/devices/pci*/net/dev/queues/rx-*/rps_cpus ファイルで分離された CPU を設定すると、次のエラーが表示されます。

Error: "-bash: echo:write error: Invalid argument"

ただし、/sys/devices/pci*/net/dev/queues/tx-*/xps_cpus ファイルで分離された CPU を手動で設定すると、分離された CPU に XPS ジョブが正常に割り当てられます。

分離された CPU を使用する環境でのネットワークワークロードでは、パフォーマンスが多少変動する可能性があることに注意してください。

(BZ#1867174)