Виртуализация

Группа IOMMU

Определение

Группа IOMMU — набор устройств, который IOMMU может изолировать от остальных как единое целое. В VFIO группа является минимальной границей безопасного владения устройствами.

Также ищут: IOMMU group · группа изоляции IOMMU

Зачем это знать

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

Связи из словаря

Карта понятия

Группа IOMMU

Связано

Доказательная часть

Что подтверждено

  1. IOMMU-группа — набор устройств, который можно изолировать от всех остальных устройств системы.

    Граница применимости: Linux VFIO 6.12, определение IOMMU group. Группа отражает доступную системе гранулярность изоляции.

  2. VFIO использует IOMMU-группу как единицу владения устройствами, потому что изоляция может быть крупнее одного устройства.

    Граница применимости: Linux VFIO 6.12, legacy group model. Интерфейс cdev меняет API, но не отменяет групповую семантику изоляции.

  3. Несколько функций или устройств могут попасть в одну IOMMU-группу из-за свойств многофункционального устройства, мостов, ACS и общей топологии.

    Граница применимости: Примеры Linux VFIO 6.12 объясняют возможные причины. Состав конкретной группы нужно читать на конкретной системе.

  4. В legacy-интерфейсе VFIO группа с несколькими устройствами становится доступной для операций только после того, как все её устройства освобождены от обычных host-драйверов: привязаны к VFIO или отвязаны.

    Граница применимости: Linux VFIO 6.12, VFIO Usage Example. Конкретный драйвер и допустимый способ подготовки зависят от устройства.

  5. VFIO device cdev в Linux 6.12 всё ещё подчиняется семантике IOMMU-группы: у группы может быть только один владелец DMA.

    Граница применимости: Linux VFIO 6.12, VFIO Device cdev. Это описание текущей модели Linux 6.12, а не обещание поведения будущих версий.

Перед спецификацией

Что проверить

  1. Найдите IOMMU-группу целевого PCIe-устройства.
  2. Перечислите все функции и устройства внутри этой группы.
  3. Проверьте, какой драйвер владеет каждым устройством до проброса.
  4. Не обещайте независимый проброс одной функции, пока граница группы не проверена.
Открытые основания

Первоисточники

  • Документация1
  • Официальная документация
    VFIO - “Virtual Function I/O” Linux Kernel · Linux 6.12.0 documentation; VFIO; Groups, Devices, and IOMMUs; VFIO Device cdev · проверено

    Проверены назначение VFIO, роль IOMMU, границы IOMMU-групп, legacy group interface и device cdev. Документ описывает Linux 6.12; поведение других ОС и гипервизоров отдельно не подтверждается.

Следующий шаг

Сформулируйте задачу и уточните требования к своей системе.

Подготовить состав проекта

Откроется черновик вопроса. Отправьте его, когда будете готовы.

Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие