Суть интеграции
В репозиторий LLVM/Clang был слит пулл-реквест, добавляющий поддержку трех новых инструкций процессоров AMD: RMPCHKD, RMPREAD и RMPOPT. Эти инструкции относятся к архитектуре Zen 5 и новее (включая будущую Zen 6) и предназначены для работы с Reverse Map Table (RMP) в рамках технологии конфиденциальных виртуальных машин SEV-SNP.
Технические детали и назначение инструкций
Основной целью внедрения является снижение накладных расходов (overhead) при проверках целостности памяти на уровне гипервизора. Инструкция RMPOPT позволяет пропускать проверки RMP в тех случаях, когда известно, что 1-гигабайтные регионы памяти не содержат гостевых данных SEV-SNP. Это напрямую влияет на производительность серверов.
| Инструкция | Назначение | Влияние на производительность |
|---|---|---|
| RMPOPT | Оптимизация проверок RMP | Позволяет пропускать проверки для чистых 1G-регионов, снижая нагрузку на CPU |
| RMPREAD | Чтение записей RMP | Обеспечивает доступ к таблице обратных отображений для валидации |
| RMPCHKD | Проверка статуса «грязности» | Позволяет проверять биты dirty-статуса для диапазонов частных страниц гостя |
Почему это важно сейчас?
Хотя изначально предполагалось, что RMPOPT станет фишкой архитектуры Zen 6, инструкция уже доступна в процессорах EPYC 5-го поколения (Zen 4/Zen 5 архитектура, выпущенных два года назад). Поддержка в LLVM была реализована с задержкой, но теперь она готова к интеграции. Патчи были отправлены в версии v13, и ожидается, что код будет готов к окну слияния Linux v7.4 в конце октября.
Контекст для рынка
Эта поддержка приходит в преддверии дебюта серверов AMD EPYC 6-го поколения «Venice». Оптимизация SEV-SNP через RMPOPT станет ключевым преимуществом для облачных провайдеров и корпоративных клиентов, использующих конфиденциальные вычисления, так как она минимизирует потерю производительности, традиционно сопровождающую шифрование памяти.
Источник: Phoronix ↗
