Суть оптимизации: обход IOMMU
Разработчики AMD интегрировали в ветку IOMMU Linux 7.4 новую функцию под названием AMD IOMMU Performance Optimization (PerfOpt). Ключевая механика заключается в том, что привилегированные встроенные устройства ввода-вывода (в частности, iGPU) получают возможность обходить трансляцию адресов IOMMU при прямом доступе к системной памяти.
В режиме identity mode (режим тождества) IOMMU продолжает контролировать только биты разрешений IR/IW, но не выполняет преобразование GPA (гостевых физических адресов) в SPA (физические адреса). Это устраняет накладные расходы на виртуализацию ввода-вывода для встроенных чипов.
Технические детали и управление
Оптимизация предназначена исключительно для встроенных графических процессоров (iGPU) и не применяется к дискретным видеокартам или внешним устройствам. По умолчанию функция будет активирована для AMD iGPU в ядре 7.4. Однако для отладки или совместимости предусмотрен модульный параметр amdgpu.iommu_perfopt, позволяющий принудительно отключить эту опцию.
Пользователи могут проверить статус активации функции через вывод dmesg, ища строку «PerfOpt».
Влияние на производительность
Хотя оптимизация применима ко всем AMD iGPU, наибольший прирост ожидается на высокопроизводительных решениях, таких как Ryzen AI Max+ (Strix Halo) и Gorgon Halo. В контексте современных задач, требующих высокой пропускной способности памяти (включая локальные LLM и AI-инференс), снижение задержек при доступе к памяти критически важно.
| Параметр | Значение / Описание |
|---|---|
| Версия ядра | Linux 7.4 |
| Механизм | Обход IOMMU для прямого доступа iGPU к памяти |
| Статус по умолчанию | Включено (Enabled) |
| Параметр отключения | amdgpu.iommu_perfopt=0 |
| Целевое оборудование | Только встроенные GPU (iGPU), не дискретные карты |
| Ключевые архитектуры | Ryzen AI Max+, Strix Halo, Gorgon Halo |
Почему это важно
Для энтузиастов Linux, использующих мощные APU AMD, это означает немедленный прирост производительности без необходимости обновления микрокода или драйверов — достаточно обновления ядра. Оптимизация закрывает один из узких мест в подсистеме ввода-вывода, делая Linux-экосистему еще более привлекательной для задач, требующих высокой вычислительной мощности и работы с памятью.
Источник: Phoronix ↗
