Суть проблемы: падение производительности компиляции
В августе 2026 года пользователи, использующие дистрибутив Gentoo, зафиксировали аномальное поведение планировщика задач в новых ядрах Linux. При запуске ресурсоемких задач, таких как компиляция LLVM Clang с полными оптимизациями времени линковки (LTO), процессы «застревали» на энергоэффективных ядрах (Zen 5C) и не мигрировали на высокопроизводительные (Zen 5). Это приводило к драматическому замедлению сборки кода.
Архитектура Ryzen AI 9 HX 370 «Strix Point» состоит из 12 ядер: 4 производительных Zen 5 и 8 энергоэффективных Zen 5C. Проблема усугублялась тем, что ядра Zen 5C работают на частоте 3.3 ГГц (против ~5.1 ГГц у Zen 5) и имеют вдвое меньший объем кэш-памяти L3 (8 МБ против 16 МБ). Привязка тяжелых задач к малым ядрам била по производительности дважды: из-за низкой частоты и нехватки кэша.
Технические детали конфликта планировщиков
Причиной стала коллизия между двумя стратегиями планирования: Cache Aware Scheduling (ориентация на локальность кэша) и Asym Packing (асимметричная упаковка, стремящаяся запускать задачи на ядрах с наивысшим приоритетом). Планировщик кэша пытался удерживать задачи процесса в пределах одного уровня кэша L3, игнорируя приоритет ядер, что приводило к застреванию тяжелых процессов на слабых ядрах.
Решение: приоритет производительности над локальностью кэша
Патч, объединенный в ветку Linux 7.4 (и предназначенный для бэкпорта в стабильные версии 7.2 и 7.3), меняет логику миграции задач. Теперь, когда асимметричная упаковка пытается переместить задачу на свободное ядро с более высоким приоритетом, система отдает приоритет этому перемещению, а не попытке сохранить локальность кэша.
Согласно комментарию в коде патча:
- Стратегия: «When asym packing tries to migrate task to an idle core that has higher priority than source cpu, let asym packing win».
- Результат: Перемещение задачи на более производительное свободное ядро дает больший прирост скорости, чем сохранение задачи в пределах одного кэш-контроллера (LLC).
Сравнение характеристик ядер AMD Ryzen AI 9 HX 370
Для понимания масштаба проблемы важно сопоставить характеристики ядер, между которыми «скакал» планировщик:
| Параметр | Zen 5 (Performance) | Zen 5C (Efficiency) |
|---|---|---|
| Количество ядер | 4 | 8 |
| Максимальная частота | ~5.1 ГГц | 3.3 ГГц |
| Объем кэша L3 | 16 МБ | 8 МБ |
| Роль в гибридной архитектуре | Высокопроизводительные задачи | Фоновые и энергоэффективные задачи |
Значение для экосистемы AMD
Хотя баг-репорт касался конкретно Ryzen AI 9 HX 370, исправление может положительно сказаться на других SoC от AMD, использующих гибридную архитектуру Zen 5/Zen 5C. Возврат к логике приоритета производительности при наличии свободного мощного ядра должен восстановить ожидаемую скорость работы тяжелых рабочих нагрузок на всех современных мобильных процессорах AMD серии Strix Point.
Источник: Phoronix ↗
