Как работает epp_boost
Разработчик Дэвид Вернет отправил в список рассылки ядра Linux новый набор патчей, который может значительно улучшить производительность процессоров AMD в играх. Ключевая функция — epp_boost для драйвера AMD P-State — позволяет динамически повышать производительность отдельных ядер, не снижая общую энергоэффективность системы.
Функция epp_boost отслеживает загрузку каждого ядра. Если ядро занято не менее чем на 50% в течение 10 мс, драйвер переводит его в режим максимальной производительности (EPP=performance). Как только нагрузка снижается, ядро возвращается к стандартному энергоэффективному режиму. Это позволяет избежать глобального включения высокопроизводительного режима для всех ядер, что обычно приводит к повышенному энергопотреблению.
Результаты тестирования
Тестирование проводилось на Steam Deck с APU Van Gogh в игре Civilization 6 — однопоточной нагрузке, интенсивно использующей CPU. Результаты впечатляют: 1% low FPS вырос на 31, 8% (с 16% при глобальном EPP=performance), время кадра p99 улучшилось на 4, 1%, а медианная частота загруженного ядра выросла с 2, 43 ГГц до 3, 5 ГГц.
Для сравнения, глобальный режим EPP=performance (включённый для всех ядер) дал прирост только 16% в 1% low FPS, но ценой повышенного энергопотребления на всех ядрах. Новый подход оказался эффективнее и при этом более экономичным.
Патч особенно актуален для систем с ограниченной мощностью процессора — портативных консолей вроде Steam Deck, будущих Steam Machine и других устройств на базе AMD APU. Улучшение 1% low FPS напрямую влияет на плавность игрового процесса, уменьшая микрофризы. Патчи пока находятся на рассмотрении инженеров AMD и не включены в основную ветку ядра. Но если они будут приняты, пользователи Linux и SteamOS получат заметный прирост производительности без дополнительных затрат.

Комментарии
Оставляйте комментарии, отвечайте другим пользователям и добавляйте быстрые реакции.