開発者らは、Linux カーネル 6.19 の Slab アロケータにおけるパフォーマンス回帰を解決しました。この回帰は NUMA ポリシーの変更によりモジュールロードを遅くしていました。ベンチマークで特定された問題は、高コアシステムのメモリ管理効率に影響を与えました。修正により適切な割り当て動作が復元され、メインブランチにマージされました。
Linux カーネルの Slab アロケータは、小規模メモリ割り当てを担当しており、バージョン 6.19 の準備中に回帰が発生しました。大規模割り当ての最適化を目的とした変更が、Non-Uniform Memory Access (NUMA) ポリシーを意図せず乱し、ノード選択の最適化不足と遅延動作を引き起こしました。
カーネルテストで顕著な影響が明らかになり、一部のケースでモジュールロード時間が最大 60% 増加しました。これは特に AMD Ryzen Threadripper のような高コアプロセッサで顕著で、ベンチマークではカーネルコンパイル時間が 3-5% 遅くなり、マルチタスク遅延が発生しました。Phoronix の Michael Larabel は bisect を行い、スケジューラ関連の問題が Slab の非効率を悪化させていることを特定しました。
回帰の原因は、Slab コードでタスク固有ポリシーよりローカルノードを優先するコミットでした。Linux Kernel Archives に文書化されたパッチは、大規模 kmalloc 操作に対する元の NUMA サポートを復元し、新たな脆弱性を導入しません。カーネル貢献者 Linus Torvalds は、マージウィンドウ中の迅速な修正の重要性を強調しました。
コミュニティの対応は迅速で、カーネルメーリングリストにプルリクエストが提出されました。カーネル開発者による修正は、意図されたポリシーを尊重する割り当てパスを対象とし、安定版 6.19 のメインブランチに統合されました。これはクラウドおよび AI ワークロードの要求の中で、パフォーマンスと信頼性のバランスを取る継続的な取り組みに沿ったものです。
以前のカーネル(例: 6.18)では、Btrfs および XFS の I/O 処理改善などの最適化があり、ファイルシステム操作で最大 20% の向上を提供しました。Slab 修正は、これらの利点を損なわず、特にデータベースサーバーやコンテナなどのメモリ集約環境で有効です。長期サポートブランチ(6.18 を含む)へのバックポートにより、本番システムの安定性が確保されます。