Linux DRM — два патча исправляют fair-планировщик после регрессии Radeon RX 9070 XT

14 августа для DRM-планировщика Linux опубликована серия из двух патчей, направленная на устранение серьёзной регрессии fair-политики, обнаруженной на Radeon RX 9070 XT. Несмотря на исправление, Linux 7.2 должен выйти с прежним FIFO по умолчанию, а повторный переход на fair рассматривается уже для следующего цикла разработки Linux 7.3.

Linux DRM — два патча исправляют fair-планировщик
Linux DRM — два патча исправляют fair-планировщик

Что произошло с fair-планировщиком DRM

Direct Rendering Manager, или DRM, — подсистема ядра Linux, через которую графические драйверы взаимодействуют с GPU и управляют в том числе очередями задач. Общий DRM GPU scheduler используется несколькими драйверами ядра и определяет, какая ожидающая задача будет передана видеокарте следующей.

Для Linux 7.2 разработчики собирались изменить стандартную политику DRM scheduler с FIFO на fair. Новый алгоритм предназначен для более равномерного распределения GPU-времени между несколькими клиентами и особенно полезен в ситуациях, когда тяжёлая графическая нагрузка работает одновременно с интерактивными приложениями.

Но перед выпуском ядра обнаружилась регрессия на AMD Radeon RX 9070 XT. При продолжительной загрузке GPU около 100% производительность могла резко падать: в одном из воспроизводимых сценариев частота кадров снижалась примерно до 10 FPS, приложение зависало, а сессия KDE Plasma под Wayland в отдельных случаях переставала отвечать.

Проблема проявлялась не только непосредственно в игре. Сочетание тяжёлой фоновой GPU-нагрузки и воспроизведения видео также могло привести к зависанию графической среды. Снижение нагрузки на видеокарту, например переход в игровое меню, прекращало сильные задержки.

Linux 7.2 сохранит FIFO

Поскольку регрессия была обнаружена незадолго до стабильного релиза Linux 7.2, разработчики выбрали консервативный вариант: не пытаться срочно исправить новый алгоритм непосредственно перед выпуском ядра, а вернуть прежнюю схему.

Для отката изменений была подготовлена отдельная серия из 20 патчей. В результате FIFO снова становится стандартной политикой DRM scheduler в Linux 7.2, даже несмотря на то, что fair ранее уже был выбран новым значением по умолчанию.

Стабильный Linux 7.2 ожидается 16 августа 2026 года, поэтому времени на полноценное тестирование другого исправления практически не осталось. Возврат FIFO снижает риск того, что проблема затронет дополнительные GPU и драйверы уже после выпуска стабильного ядра.

FIFO и fair решают задачу по-разному

Главное различие связано не с производительностью одной конкретной GPU-задачи, а с тем, как ядро распределяет доступ к GPU между несколькими клиентами.

ПолитикаПринципПрактический эффект
FIFOЗадачи обслуживаются преимущественно в порядке очереди с учётом существующей системы приоритетовПроверенная схема, но тяжёлые очереди способны ухудшать обслуживание других клиентов
fairУчитывается фактически использованное клиентами виртуальное GPU-времяБолее равномерное распределение ресурсов между тяжёлыми и интерактивными нагрузками

Fair-планировщик концептуально опирается на идеи справедливого планирования, знакомые по CPU-планировщикам Linux. Его цель — не позволять одному клиенту надолго монополизировать очередь и одновременно сохранить возможность учитывать разные уровни приоритета.

Именно поэтому переход представляет интерес для настольных Linux-систем: одновременно с игрой GPU может обслуживать Wayland-композитор, браузер, аппаратное декодирование видео и другие процессы.

Два патча должны устранить регрессию

14 августа инженер Igalia Твртко Урсулин, работающий над fair DRM scheduler, опубликовал новую серию исправлений после анализа проблемы вместе с автором отчёта о регрессии Люком Вильдхардтом. Серия состоит всего из двух патчей и изменяет менее ста строк кода.

По результатам текущего тестирования разработчики считают, что первоначальная проблема устранена. Это пока не означает возвращения fair в Linux 7.2: откат на FIFO остаётся безопасным вариантом для уже завершающегося цикла разработки.

Следующая задача — проверить исправленный алгоритм на более широком наборе оборудования и нагрузок. Если новые патчи подтвердят стабильность, fair можно будет снова предложить в качестве стандартной политики уже в одном из следующих релизов.

Наиболее очевидный кандидат — Linux 7.3, окно слияния которого откроется после выхода Linux 7.2. Однако на 14 августа включение fair по умолчанию в Linux 7.3 ещё нельзя считать подтверждённым решением.

Зачем разработчики всё равно хотят перейти на fair

Регрессия Radeon RX 9070 XT не отменяет причин, по которым разработчики DRM начали переделывать планировщик.

Fair-политика ориентирована на системы, где одновременно работают несколько независимых GPU-клиентов. Вместо ситуации, когда одна глубокая очередь способна заметно задерживать другие процессы, планировщик пытается учитывать уже использованное GPU-время и чаще давать возможность выполнить работу менее ресурсоёмким клиентам.

Такой подход особенно актуален для современных Linux-десктопов и портативных игровых систем. Даже запущенная на весь экран игра не является единственным потребителем GPU: вместе с ней продолжают работать композитор, интерфейс рабочего стола и фоновые приложения.

После устранения нынешней проблемы разработчики рассчитывают снова сделать fair стандартной политикой. Следующим этапом потенциально станет удаление старых FIFO и round-robin вариантов и повторное применение упрощений кодовой базы DRM scheduler, которые пришлось временно откатить из-за регрессии.

Что это значит для пользователей Linux

Для пользователей будущего стабильного Linux 7.2 ситуация фактически возвращается к проверенной конфигурации: DRM scheduler продолжит использовать FIFO по умолчанию. Поэтому обнаруженная проблема fair-политики не должна автоматически переноситься на обычные установки Linux 7.2 после завершения отката.

Особое значение история имеет для владельцев Radeon RX 9070 XT и пользователей тестовых ядер, drm-next или других сборок, где fair уже был активирован. Именно на RX 9070 XT была подтверждена тяжёлая регрессия при полной загрузке GPU, поэтому тестирование исправлений на этой архитектуре остаётся одним из ключевых критериев.

Для остальных пользователей срочных действий не требуется. Новая политика ещё проходит проверку, а стабильный Linux 7.2 должен сохранить FIFO.

Главный практический результат текущей разработки состоит в том, что от fair DRM scheduler не отказались. Разработчики уже подготовили компактное исправление обнаруженной регрессии, но предпочли не менять планировщик повторно непосредственно перед выпуском Linux 7.2. Если тестирование двух новых патчей не выявит других проблем, возвращение fair по умолчанию может стать одним из изменений цикла Linux 7.3.

При использовании материалов сайта необходимо указывать ссылку на TGLand.ru. Если вы копируете фрагменты текста в интернете, прямая гиперссылка, доступная для индексации поисковыми системами, должна быть размещена в начале материала.

Вам также может понравиться